using System;
using System.Collections.Generic;
using System.Text;

namespace TidhiGanitam.DataModel
{
    public static class Constants
    {
        public static double RasiTimeConversionFactor = 0.4d;
        public static Rasi YogamuPramanam = new Rasi(0, 13, 20);
        public static Rasi NakshatraPramanam = new Rasi(0, 13, 20);
        public static Rasi NakshatraPadaPramanam = new Rasi(0, 3, 20);
        public static Rasi TidhiPramanam = new Rasi(0, 12);
        public static Rasi QuarterTidhi = new Rasi(0, 3);
        public static Tidhi TidhiConsideration = new Tidhi(0, 45);
        public static Varam Dinardham = new Varam(0, 15);
        public static Rasi DinaPramanam = new Rasi(0, 0, 30, 5);
        public static int YearBaseDifference = 78;
        public static Pradesam Rajahmundry = new Pradesam("Rajahmundry",
                                            new Varam(0, 1, 30),
                                            Enums.PradesaPosition.East);
        public static Rasi RaviDinaGati = new Rasi(0, 0, 59, 8.2F);
        public static Rasi ChandraDinaGati = new Rasi(0, 13, 10, 34.90d);
        public static Rasi ChandraKendraDinaGati = new Rasi(0, 13, 3, 53.96d);
        public static Rasi RahuvuDinaGati = new Rasi(0, 0, 3, 10.77256d);
        public static Rasi IyanamsaGati365Days = new Rasi(0, 0, 0, 50.27d);
        public static Rasi IyanamsaDinaGati = new Rasi(0, 0, 0, 50.27d) / 365d;
        public static System.Collections.Hashtable TimeConstForRjy = new System.Collections.Hashtable();

        #region Roju Pramanamu
        public static Rasi[] RojuPramanam1 = new Rasi[] {
            new Rasi(0,0,60,8), // 1
            new Rasi(0,0,60,9), // 2
            new Rasi(0,0,60,10), // 3
            new Rasi(0,0,60,10), // 4
            new Rasi(0,0,60,10), // 5
            new Rasi(0,0,60,10), // 6
            new Rasi(0,0,60,11), // 7
            new Rasi(0,0,60,11), // 8
            new Rasi(0,0,60,11), // 9
            new Rasi(0,0,60,9), // 10
            new Rasi(0,0,60,8), // 11
            new Rasi(0,0,60,8)  // 12
        };
        #endregion

        #region Karanamu
        public static string[,] Karanam = new string[,]{
            {"Kimstughnamu", "Bava"},
            {"Balava", "Kowlava"},
            {"Tytula", "Garaja"},
            {"Vanija", "Bhadra(Vistihi)"},
            {"Bava", "Balava"},
            {"Kowlava", "Tytula"},
            {"Garaja", "Vanija"},
            {"Bhadra(vistihi)", "Bava"},
            {"Balava", "Kowlava"},
            {"Tytula", "Garaja"},
            {"Vanija", "Bhadra(vistihi)"},
            {"Bava", "Balava"},
            {"Kowlava", "Tytula"},
            {"Garaja", "Vanija"},
            {"Bhadra(vistihi)", "Bava"},
            {"Balava", "Kowlava"},
            {"Tytula", "Garaja"},
            {"Vanija", "Bhadra(Vistihi)"},
            {"Bava", "Balava"},
            {"Kowlava", "Tytula"},
            {"Garaja", "Vanija"},
            {"Bhadra(vistihi)", "Bava"},
            {"Balava", "Kowlava"},
            {"Tytula", "Garaja"},
            {"Vanija", "Bhadra(vistihi)"},
            {"Bava", "Balava"},
            {"Kowlava", "Tytula"},
            {"Garaja", "Vanija"},
            {"Bhadra(vistihi)", "Sakuni"},
            {"Chatushpath", "Nagava"}}; 
        #endregion

        #region Pakshamu
		public static string[] Paksham = new string[] { "Sukla", "Krushna" } ;
	#endregion;

        #region Masamu
        public static string[] Masamu = new string[] {
            "Chitramu",     //1
            "Visakhamu",    //2
            "Jyestamu",     //3
            "Aashadhamu",   //4
            "Sravanamu",    //5
            "Bhadrapadamu", //6
            "Aswayujamu",   //7
            "Kartikamu",    //8
            "Margasiramu",  //9
            "Pushyamu",     //10
            "Makhamu",      //11
            "Phalgunamu"    //12
        }; 
        #endregion

        #region Tidhi
        public static string[] SuddaTidhi = new string[]{
            "Su. Padyami",
            "Vidiya",
            "Tadiya",
            "Chaviti",
            "Panchami",
            "Shashti",
            "Saptami",
            "Ashtami",
            "Navami",
            "Dasami",
            "Ekadasi",
            "Dwadasi",
            "Trayodasi",
            "Chaturdasi",
            "Pournami",
            "Ba. Padyami",
            "Vidiya",
            "Tadiya",
            "Chaviti",
            "Panchami",
            "Shashti",
            "Saptami",
            "Ashtami",
            "Navami",
            "Dasami",
            "Ekadasi",
            "Dwadasi",
            "Trayodasi",
            "Chaturdasi",
            "Amavasya"
        }; 
        #endregion

        #region Nakshatramu
		public static string[] Nakshatramu = new string[]{
            "Aswani", //0
            "Bharani", //1
            "Kruttika", //2
            "Rohini", //3
            "Mrugaseersha", //4
            "Arudra", //5
            "Punarvasu", //6
            "Pushyami", //7
            "Aasresha", //8
            "Magha", //9
            "Pubba", //10
            "Uttara", //11
            "Hasta", //12
            "Chitra", //13
            "Swathi", //14
            "Visakha", //15
            "Anuradha", //16
            "Jyesta", //17
            "Mula", //18
            "PurvaAshadha", //19
            "UttaraAshadha", //20
            "Sravanam", //21
            "Dhanista", //22
            "SataTara", //23
            "PurvaBhadra", //24
            "UttaraBhadra", //25
            "Revati"  //26
        }; 
	#endregion

        #region Padamu
        public static string[] Padamulu = new string[] {
            "1", //1
            "2", //2
            "3", //3
            "4"  //4
        };
        #endregion

        #region Rasulu
        public static string[] Rasulu = new string[]{
            "Meshamu",
            "Vrushabhamu",
            "Mithunamu",
            "Karkatakamu",
            "Simhamu",
            "Kanya",
            "Tula",
            "Vruschikamu",
            "Dhanassu",
            "Makaramu",
            "Kumbhamu",
            "Meenamu"
        };
        #endregion

        #region Yogamu
        public static string[] Yogamu = new string[] {
            "Vishkambhamu",//1
            "Preeti",//2
            "Aayushman",//3
            "Sowbhagyamu",//4
            "Sobhanamu",//5
            "AtiGanda",//6
            "Sukarma",//7
            "Dhruti",//8
            "Sulamu",//9
            "Gandamu",//10
            "Vrudhi",//11
            "Dhruvamu",//12
            "Vyaghatamu",//13
            "Harshanamu",//14
            "Vajramu",//15
            "Siddi",//16
            "Vyatipatamu",//17
            "Vareeyan",//18
            "Paregha",//19
            "Sivamu",//20
            "Siddi",//21
            "Sadhyamu",//22
            "Subhamu",//23
            "Suklamu",//24
            "Brahmamu",//25
            "Indramu",//26
            "Vydhruti"//27
        }; 
	#endregion

        #region Ravi Manda Padakalu
        public static MandaRaviItem GetMandaRaviItem(int Index)
        {
            MandaRaviItem CItem = (MandaRaviItem)Constants.MandaRaviPadakalu[Index];
            MandaRaviItem retItem = new MandaRaviItem(CItem.MandaPadakam, CItem.Gati, CItem.Karnam);
            return retItem;
        }
		 private static readonly MandaRaviItem[] MandaRaviPadakalu = new MandaRaviItem[]{
            new MandaRaviItem(new Rasi(0,0,0,0), new Rasi(0,0,57,6,0), new Degree(1.01678,0)),  //0
            new MandaRaviItem(new Rasi(0,0,2,0), new Rasi(0,0,57,6,36), new Degree(1.01676,30)),
            new MandaRaviItem(new Rasi(0,0,3,54), new Rasi(0,0,57,7,12), new Degree(1.01674,0)),
            new MandaRaviItem(new Rasi(0,0,5,54), new Rasi(0,0,57,7,48), new Degree(1.01671,30)),
            new MandaRaviItem(new Rasi(0,0,7,54), new Rasi(0,0,57,8,24), new Degree(1.01669,0)),
            new MandaRaviItem(new Rasi(0,0,9,48), new Rasi(0,0,57,9,0), new Degree(1.01666,30)),
            new MandaRaviItem(new Rasi(0,0,11,48), new Rasi(0,0,57,9,36), new Degree(1.01664,0)),
            new MandaRaviItem(new Rasi(0,0,13,48), new Rasi(0,0,57,10,12), new Degree(1.01661,30)),
            new MandaRaviItem(new Rasi(0,0,15,42), new Rasi(0,0,57,10,48), new Degree(1.01659,0)),
            new MandaRaviItem(new Rasi(0,0,17,42), new Rasi(0,0,57,11,24), new Degree(1.01656,30)),
            new MandaRaviItem(new Rasi(0,0,19,36), new Rasi(0,0,57,12,0), new Degree(1.01654,0)),//10
            new MandaRaviItem(new Rasi(0,0,21,36), new Rasi(0,0,57,12,36), new Degree(1.01646,42)),
            new MandaRaviItem(new Rasi(0,0,23,30), new Rasi(0,0,57,13,12), new Degree(1.01639,24)),
            new MandaRaviItem(new Rasi(0,0,25,24), new Rasi(0,0,57,13,48), new Degree(1.01632,6)),
            new MandaRaviItem(new Rasi(0,0,27,24), new Rasi(0,0,57,14,24), new Degree(1.01624,48)),
            new MandaRaviItem(new Rasi(0,0,29,18), new Rasi(0,0,57,15,0), new Degree(1.01617,30)),
            new MandaRaviItem(new Rasi(0,0,31,12), new Rasi(0,0,57,15,36), new Degree(1.01610,12)),
            new MandaRaviItem(new Rasi(0,0,33,6), new Rasi(0,0,57,16,12), new Degree(1.01602,54)),
            new MandaRaviItem(new Rasi(0,0,35,0), new Rasi(0,0,57,16,48), new Degree(1.01595,36)),
            new MandaRaviItem(new Rasi(0,0,36,54), new Rasi(0,0,57,17,24), new Degree(1.01588,18)),
            new MandaRaviItem(new Rasi(0,0,38,42), new Rasi(0,0,57,18,0), new Degree(1.01581,0)),//20
            new MandaRaviItem(new Rasi(0,0,40,36), new Rasi(0,0,57,18,36), new Degree(1.01569,0)),
            new MandaRaviItem(new Rasi(0,0,42,24), new Rasi(0,0,57,19,12), new Degree(1.01557,0)),
            new MandaRaviItem(new Rasi(0,0,44,12), new Rasi(0,0,57,19,48), new Degree(1.01545,0)),
            new MandaRaviItem(new Rasi(0,0,46,6), new Rasi(0,0,57,20,24), new Degree(1.01533,0)),
            new MandaRaviItem(new Rasi(0,0,47,54), new Rasi(0,0,57,21,0), new Degree(1.01521,0)),
            new MandaRaviItem(new Rasi(0,0,49,42), new Rasi(0,0,57,21,36), new Degree(1.01509,0)),
            new MandaRaviItem(new Rasi(0,0,51,24), new Rasi(0,0,57,22,12), new Degree(1.01497,0)),
            new MandaRaviItem(new Rasi(0,0,53,12), new Rasi(0,0,57,22,48), new Degree(1.01485,0)),
            new MandaRaviItem(new Rasi(0,0,55,0), new Rasi(0,0,57,23,24), new Degree(1.01473,0)), 
            new MandaRaviItem(new Rasi(0,0,56,42), new Rasi(0,0,57,24,0), new Degree(1.01461,0)),//30
            new MandaRaviItem(new Rasi(0,0,58,24), new Rasi(0,0,57,25,12), new Degree(1.01444,42)),
            new MandaRaviItem(new Rasi(0,1,0,6), new Rasi(0,0,57,26,24), new Degree(1.01428,24)),
            new MandaRaviItem(new Rasi(0,1,1,48), new Rasi(0,0,57,27,36), new Degree(1.01412,6)),
            new MandaRaviItem(new Rasi(0,1,3,24), new Rasi(0,0,57,28,48), new Degree(1.01395,48)),
            new MandaRaviItem(new Rasi(0,1,5,6), new Rasi(0,0,57,30,0), new Degree(1.01379,30)),
            new MandaRaviItem(new Rasi(0,1,6,42), new Rasi(0,0,57,31,12), new Degree(1.01363,12)),
            new MandaRaviItem(new Rasi(0,1,8,18), new Rasi(0,0,57,32,24), new Degree(1.01346,54)),
            new MandaRaviItem(new Rasi(0,1,9,54), new Rasi(0,0,57,33,36), new Degree(1.01330,36)),
            new MandaRaviItem(new Rasi(0,1,11,30), new Rasi(0,0,57,34,48), new Degree(1.01314,18)), 
            new MandaRaviItem(new Rasi(0,1,13,0), new Rasi(0,0,57,36,0), new Degree(1.01298,0)),//40
            new MandaRaviItem(new Rasi(0,1,14,30), new Rasi(0,0,57,37,12), new Degree(1.01277,48)),
            new MandaRaviItem(new Rasi(0,1,16,0), new Rasi(0,0,57,38,24), new Degree(1.01257,36)),
            new MandaRaviItem(new Rasi(0,1,17,30), new Rasi(0,0,57,39,36), new Degree(1.01237,24)),
            new MandaRaviItem(new Rasi(0,1,19,0), new Rasi(0,0,57,40,48), new Degree(1.01217,12)),
            new MandaRaviItem(new Rasi(0,1,20,24), new Rasi(0,0,57,42,0), new Degree(1.01197,0)),
            new MandaRaviItem(new Rasi(0,1,21,54), new Rasi(0,0,57,43,12), new Degree(1.01177,48)),
            new MandaRaviItem(new Rasi(0,1,23,12), new Rasi(0,0,57,44,24), new Degree(1.01157,36)),
            new MandaRaviItem(new Rasi(0,1,24,36), new Rasi(0,0,57,45,36), new Degree(1.01136,24)),
            new MandaRaviItem(new Rasi(0,1,25,54), new Rasi(0,0,57,46,48), new Degree(1.01116,12)), 
            new MandaRaviItem(new Rasi(0,1,27,12), new Rasi(0,0,57,48,0), new Degree(1.01096,0)),//50
            new MandaRaviItem(new Rasi(0,1,28,30), new Rasi(0,0,57,49,48), new Degree(1.01072,24)),
            new MandaRaviItem(new Rasi(0,1,29,48), new Rasi(0,0,57,51,36), new Degree(1.01048,48)),
            new MandaRaviItem(new Rasi(0,1,31,0), new Rasi(0,0,57,53,24), new Degree(1.01025,12)),
            new MandaRaviItem(new Rasi(0,1,32,12), new Rasi(0,0,57,55,12), new Degree(1.01001,36)),
            new MandaRaviItem(new Rasi(0,1,33,24), new Rasi(0,0,57,57,0), new Degree(1.00978,0)),
            new MandaRaviItem(new Rasi(0,1,34,36), new Rasi(0,0,57,58,48), new Degree(1.00954,24)),
            new MandaRaviItem(new Rasi(0,1,35,42), new Rasi(0,0,58,0,36), new Degree(1.00930,48)),
            new MandaRaviItem(new Rasi(0,1,36,48), new Rasi(0,0,58,2,24), new Degree(1.00907,12)),
            new MandaRaviItem(new Rasi(0,1,37,54), new Rasi(0,0,58,4,12), new Degree(1.00883,36)), 
            new MandaRaviItem(new Rasi(0,1,38,54), new Rasi(0,0,58,6,0), new Degree(1.00860,0)),//60
            new MandaRaviItem(new Rasi(0,1,39,54), new Rasi(0,0,58,7,48), new Degree(1.00833,54)),
            new MandaRaviItem(new Rasi(0,1,40,54), new Rasi(0,0,58,9,36), new Degree(1.00807,48)),
            new MandaRaviItem(new Rasi(0,1,41,54), new Rasi(0,0,58,11,24), new Degree(1.00781,42)),
            new MandaRaviItem(new Rasi(0,1,42,48), new Rasi(0,0,58,13,12), new Degree(1.00755,36)),
            new MandaRaviItem(new Rasi(0,1,43,42), new Rasi(0,0,58,15,0), new Degree(1.00729,30)),
            new MandaRaviItem(new Rasi(0,1,44,30), new Rasi(0,0,58,16,48), new Degree(1.00703,24)),
            new MandaRaviItem(new Rasi(0,1,45,24), new Rasi(0,0,58,18,36), new Degree(1.00677,18)),
            new MandaRaviItem(new Rasi(0,1,46,12), new Rasi(0,0,58,20,24), new Degree(1.00651,12)),
            new MandaRaviItem(new Rasi(0,1,47,0), new Rasi(0,0,58,22,12), new Degree(1.00625,6)), 
            new MandaRaviItem(new Rasi(0,1,47,42), new Rasi(0,0,58,24,0), new Degree(1.00599,0)),//70
            new MandaRaviItem(new Rasi(0,1,48,24), new Rasi(0,0,58,25,48), new Degree(1.00570,54)),
            new MandaRaviItem(new Rasi(0,1,49,0), new Rasi(0,0,58,27,36), new Degree(1.00542,48)),
            new MandaRaviItem(new Rasi(0,1,49,42), new Rasi(0,0,58,29,24), new Degree(1.00514,42)),
            new MandaRaviItem(new Rasi(0,1,50,18), new Rasi(0,0,58,31,12), new Degree(1.00486,36)),
            new MandaRaviItem(new Rasi(0,1,50,48), new Rasi(0,0,58,33,0), new Degree(1.00458,30)),
            new MandaRaviItem(new Rasi(0,1,51,24), new Rasi(0,0,58,34,48), new Degree(1.00430,24)),
            new MandaRaviItem(new Rasi(0,1,51,54), new Rasi(0,0,58,36,36), new Degree(1.00402,18)),
            new MandaRaviItem(new Rasi(0,1,52,24), new Rasi(0,0,58,38,24), new Degree(1.00374,12)),
            new MandaRaviItem(new Rasi(0,1,52,48), new Rasi(0,0,58,40,12), new Degree(1.00346,6)), 
            new MandaRaviItem(new Rasi(0,1,53,12), new Rasi(0,0,58,42,0), new Degree(1.00318,0)),//80
            new MandaRaviItem(new Rasi(0,1,53,36), new Rasi(0,0,58,44,24), new Degree(1.00289,0)),
            new MandaRaviItem(new Rasi(0,1,54,0), new Rasi(0,0,58,46,48), new Degree(1.00260,0)),
            new MandaRaviItem(new Rasi(0,1,54,18), new Rasi(0,0,58,49,12), new Degree(1.00231,0)),
            new MandaRaviItem(new Rasi(0,1,54,30), new Rasi(0,0,58,51,36), new Degree(1.00202,0)),
            new MandaRaviItem(new Rasi(0,1,54,48), new Rasi(0,0,58,54,0), new Degree(1.00173,0)),
            new MandaRaviItem(new Rasi(0,1,55,0), new Rasi(0,0,58,56,24), new Degree(1.00144,0)),
            new MandaRaviItem(new Rasi(0,1,55,6), new Rasi(0,0,58,58,48), new Degree(1.00115,0)),
            new MandaRaviItem(new Rasi(0,1,55,18), new Rasi(0,0,59,1,12), new Degree(1.00086,0)),
            new MandaRaviItem(new Rasi(0,1,55,24), new Rasi(0,0,59,3,36), new Degree(1.00057,0)), 
            new MandaRaviItem(new Rasi(0,1,55,24), new Rasi(0,0,59,6,0), new Degree(1.00028,0)),//90
            new MandaRaviItem(new Rasi(0,1,55,24), new Rasi(0,0,59,7,48), new Degree(0.99998,48)),
            new MandaRaviItem(new Rasi(0,1,55,24), new Rasi(0,0,59,9,36), new Degree(0.99969,36)),
            new MandaRaviItem(new Rasi(0,1,55,24), new Rasi(0,0,59,11,24), new Degree(0.99940,24)),
            new MandaRaviItem(new Rasi(0,1,55,18), new Rasi(0,0,59,13,12), new Degree(0.99911,12)),
            new MandaRaviItem(new Rasi(0,1,55,12), new Rasi(0,0,59,15,0), new Degree(0.99882,0)),
            new MandaRaviItem(new Rasi(0,1,55,0), new Rasi(0,0,59,16,48), new Degree(0.99852,48)),
            new MandaRaviItem(new Rasi(0,1,54,48), new Rasi(0,0,59,18,36), new Degree(0.99823,36)),
            new MandaRaviItem(new Rasi(0,1,54,36), new Rasi(0,0,59,20,24), new Degree(0.99794,24)),
            new MandaRaviItem(new Rasi(0,1,54,24), new Rasi(0,0,59,22,12), new Degree(0.99765,12)), 
            new MandaRaviItem(new Rasi(0,1,54,6), new Rasi(0,0,59,24,0), new Degree(0.99736,0)),//100
            new MandaRaviItem(new Rasi(0,1,53,48), new Rasi(0,0,59,25,48), new Degree(0.99707,30)),
            new MandaRaviItem(new Rasi(0,1,53,24), new Rasi(0,0,59,27,36), new Degree(0.99679,0)),
            new MandaRaviItem(new Rasi(0,1,53,0), new Rasi(0,0,59,29,24), new Degree(0.99650,30)),
            new MandaRaviItem(new Rasi(0,1,52,36), new Rasi(0,0,59,31,12), new Degree(0.99622,0)),
            new MandaRaviItem(new Rasi(0,1,52,6), new Rasi(0,0,59,33,0), new Degree(0.99593,30)),
            new MandaRaviItem(new Rasi(0,1,51,36), new Rasi(0,0,59,34,48), new Degree(0.99565,0)),
            new MandaRaviItem(new Rasi(0,1,51,0), new Rasi(0,0,59,36,36), new Degree(0.99536,30)),
            new MandaRaviItem(new Rasi(0,1,50,30), new Rasi(0,0,59,38,24), new Degree(0.99508,0)),
            new MandaRaviItem(new Rasi(0,1,49,54), new Rasi(0,0,59,40,12), new Degree(0.99479,30)),
            new MandaRaviItem(new Rasi(0,1,49,12), new Rasi(0,0,59,42,0), new Degree(0.99451,0)),//110
            new MandaRaviItem(new Rasi(0,1,48,36), new Rasi(0,0,59,44,24), new Degree(0.99424,6)),
            new MandaRaviItem(new Rasi(0,1,47,54), new Rasi(0,0,59,46,48), new Degree(0.99397,12)),
            new MandaRaviItem(new Rasi(0,1,47,6), new Rasi(0,0,59,49,12), new Degree(0.99370,18)),
            new MandaRaviItem(new Rasi(0,1,46,18), new Rasi(0,0,59,51,36), new Degree(0.99343,24)),
            new MandaRaviItem(new Rasi(0,1,45,30), new Rasi(0,0,59,54,0), new Degree(0.99316,30)),
            new MandaRaviItem(new Rasi(0,1,44,42), new Rasi(0,0,59,56,24), new Degree(0.99289,36)),
            new MandaRaviItem(new Rasi(0,1,43,48), new Rasi(0,0,59,58,48), new Degree(0.99262,42)),
            new MandaRaviItem(new Rasi(0,1,42,54), new Rasi(0,0,60,1,12), new Degree(0.99235,48)),
            new MandaRaviItem(new Rasi(0,1,42,0), new Rasi(0,0,60,3,36), new Degree(0.99208,54)),
            new MandaRaviItem(new Rasi(0,1,41,0), new Rasi(0,0,60,6,0), new Degree(0.99182,0)), //120
            new MandaRaviItem(new Rasi(0,1,40,0), new Rasi(0,0,60,7,48), new Degree(0.99157,36)),
            new MandaRaviItem(new Rasi(0,1,39,0), new Rasi(0,0,60,9,36), new Degree(0.99133,12)),
            new MandaRaviItem(new Rasi(0,1,37,54), new Rasi(0,0,60,11,24), new Degree(0.99108,24)),
            new MandaRaviItem(new Rasi(0,1,36,48), new Rasi(0,0,60,13,12), new Degree(0.99084,24)),
            new MandaRaviItem(new Rasi(0,1,35,42), new Rasi(0,0,60,15,0), new Degree(0.99060,0)),
            new MandaRaviItem(new Rasi(0,1,34,36), new Rasi(0,0,60,16,48), new Degree(0.99035,36)),
            new MandaRaviItem(new Rasi(0,1,33,24), new Rasi(0,0,60,18,36), new Degree(0.99011,12)),
            new MandaRaviItem(new Rasi(0,1,32,6), new Rasi(0,0,60,20,24), new Degree(0.98986,48)),
            new MandaRaviItem(new Rasi(0,1,30,54), new Rasi(0,0,60,22,12), new Degree(0.98962,24)),
            new MandaRaviItem(new Rasi(0,1,29,36), new Rasi(0,0,60,24,0), new Degree(0.98938,0)), //130
            new MandaRaviItem(new Rasi(0,1,28,18), new Rasi(0,0,60,25,48), new Degree(0.98916,48)),
            new MandaRaviItem(new Rasi(0,1,27,0), new Rasi(0,0,60,27,36), new Degree(0.98895,36)),
            new MandaRaviItem(new Rasi(0,1,25,36), new Rasi(0,0,60,29,24), new Degree(0.98874,24)),
            new MandaRaviItem(new Rasi(0,1,24,12), new Rasi(0,0,60,31,12), new Degree(0.98853,12)),
            new MandaRaviItem(new Rasi(0,1,22,48), new Rasi(0,0,60,33,0), new Degree(0.98832,0)),
            new MandaRaviItem(new Rasi(0,1,21,24), new Rasi(0,0,60,34,48), new Degree(0.98810,48)),
            new MandaRaviItem(new Rasi(0,1,19,54), new Rasi(0,0,60,36,36), new Degree(0.98789,36)),
            new MandaRaviItem(new Rasi(0,1,18,30), new Rasi(0,0,60,38,24), new Degree(0.98768,24)),
            new MandaRaviItem(new Rasi(0,1,17,0), new Rasi(0,0,60,40,12), new Degree(0.98747,12)),
            new MandaRaviItem(new Rasi(0,1,15,24), new Rasi(0,0,60,42,0), new Degree(0.98726,0)), //140
            new MandaRaviItem(new Rasi(0,1,13,48), new Rasi(0,0,60,43,12), new Degree(0.98708,42)),
            new MandaRaviItem(new Rasi(0,1,12,12), new Rasi(0,0,60,44,24), new Degree(0.98691,24)),
            new MandaRaviItem(new Rasi(0,1,10,36), new Rasi(0,0,60,45,36), new Degree(0.98674,6)),
            new MandaRaviItem(new Rasi(0,1,9,0), new Rasi(0,0,60,46,48), new Degree(0.98656,48)),
            new MandaRaviItem(new Rasi(0,1,7,24), new Rasi(0,0,60,48,0), new Degree(0.98639,30)),
            new MandaRaviItem(new Rasi(0,1,5,42), new Rasi(0,0,60,49,12), new Degree(0.98622,12)),
            new MandaRaviItem(new Rasi(0,1,4,0), new Rasi(0,0,60,50,24), new Degree(0.98604,54)),
            new MandaRaviItem(new Rasi(0,1,2,18), new Rasi(0,0,60,51,36), new Degree(0.98587,36)),
            new MandaRaviItem(new Rasi(0,1,0,30), new Rasi(0,0,60,52,48), new Degree(0.98570,18)),
            new MandaRaviItem(new Rasi(0,0,58,48), new Rasi(0,0,60,54,0), new Degree(0.98553,0)), //150
            new MandaRaviItem(new Rasi(0,0,57,0), new Rasi(0,0,60,54,36), new Degree(0.98540,18)),
            new MandaRaviItem(new Rasi(0,0,55,12), new Rasi(0,0,60,55,12), new Degree(0.98527,36)),
            new MandaRaviItem(new Rasi(0,0,53,24), new Rasi(0,0,60,55,48), new Degree(0.98514,54)),
            new MandaRaviItem(new Rasi(0,0,51,36), new Rasi(0,0,60,56,24), new Degree(0.98502,12)),
            new MandaRaviItem(new Rasi(0,0,49,42), new Rasi(0,0,60,57,0), new Degree(0.98489,30)),
            new MandaRaviItem(new Rasi(0,0,47,54), new Rasi(0,0,60,57,36), new Degree(0.98476,48)),
            new MandaRaviItem(new Rasi(0,0,46,0), new Rasi(0,0,60,58,12), new Degree(0.98464,6)),
            new MandaRaviItem(new Rasi(0,0,44,6), new Rasi(0,0,60,58,48), new Degree(0.98451,24)),
            new MandaRaviItem(new Rasi(0,0,42,12), new Rasi(0,0,60,59,24), new Degree(0.98438,42)),
            new MandaRaviItem(new Rasi(0,0,40,18), new Rasi(0,0,61,0,0), new Degree(0.98426,0)), //160
            new MandaRaviItem(new Rasi(0,0,38,18), new Rasi(0,0,61,0,36), new Degree(0.98418,6)),
            new MandaRaviItem(new Rasi(0,0,36,24), new Rasi(0,0,61,1,12), new Degree(0.98410,12)),
            new MandaRaviItem(new Rasi(0,0,34,24), new Rasi(0,0,61,1,48), new Degree(0.98402,18)),
            new MandaRaviItem(new Rasi(0,0,32,30), new Rasi(0,0,61,2,24), new Degree(0.98394,24)),
            new MandaRaviItem(new Rasi(0,0,30,30), new Rasi(0,0,61,3,0), new Degree(0.98386,30)),
            new MandaRaviItem(new Rasi(0,0,28,30), new Rasi(0,0,61,3,36), new Degree(0.98378,36)),
            new MandaRaviItem(new Rasi(0,0,26,30), new Rasi(0,0,61,4,12), new Degree(0.98370,42)),
            new MandaRaviItem(new Rasi(0,0,24,30), new Rasi(0,0,61,4,48), new Degree(0.98362,48)),
            new MandaRaviItem(new Rasi(0,0,22,30), new Rasi(0,0,61,5,24), new Degree(0.98354,54)),
            new MandaRaviItem(new Rasi(0,0,20,30), new Rasi(0,0,61,6,0), new Degree(0.98347,0)), //170
            new MandaRaviItem(new Rasi(0,0,18,24), new Rasi(0,0,61,6,0), new Degree(0.98344,24)),
            new MandaRaviItem(new Rasi(0,0,16,24), new Rasi(0,0,61,6,0), new Degree(0.98341,48)),
            new MandaRaviItem(new Rasi(0,0,14,24), new Rasi(0,0,61,6,0), new Degree(0.98339,12)),
            new MandaRaviItem(new Rasi(0,0,12,18), new Rasi(0,0,61,6,0), new Degree(0.98336,36)),
            new MandaRaviItem(new Rasi(0,0,10,18), new Rasi(0,0,61,6,0), new Degree(0.98334,0)),
            new MandaRaviItem(new Rasi(0,0,8,12), new Rasi(0,0,61,6,0), new Degree(0.98331,24)),
            new MandaRaviItem(new Rasi(0,0,6,6), new Rasi(0,0,61,6,0), new Degree(0.98328,48)),
            new MandaRaviItem(new Rasi(0,0,4,6), new Rasi(0,0,61,6,0), new Degree(0.98326,12)),
            new MandaRaviItem(new Rasi(0,0,2,0), new Rasi(0,0,61,6,0), new Degree(0.98323,36)),
            new MandaRaviItem(new Rasi(0,0,0,0), new Rasi(0,0,61,6,0), new Degree(0.98321,0)), //180
            new MandaRaviItem(new Rasi(0,0,2,0), new Rasi(0,0,61,6,0), new Degree(0.98323,36)),
            new MandaRaviItem(new Rasi(0,0,4,6), new Rasi(0,0,61,6,0), new Degree(0.98326,12)),
            new MandaRaviItem(new Rasi(0,0,6,6), new Rasi(0,0,61,6,0), new Degree(0.98328,48)),
            new MandaRaviItem(new Rasi(0,0,8,12), new Rasi(0,0,61,6,0), new Degree(0.98331,24)),
            new MandaRaviItem(new Rasi(0,0,10,18), new Rasi(0,0,61,6,0), new Degree(0.98334,0)),
            new MandaRaviItem(new Rasi(0,0,12,18), new Rasi(0,0,61,6,0), new Degree(0.98336,36)),
            new MandaRaviItem(new Rasi(0,0,14,24), new Rasi(0,0,61,6,0), new Degree(0.98337,12)),
            new MandaRaviItem(new Rasi(0,0,16,24), new Rasi(0,0,61,6,0), new Degree(0.98341,48)),
            new MandaRaviItem(new Rasi(0,0,18,24), new Rasi(0,0,61,6,0), new Degree(0.98344,24)),
            new MandaRaviItem(new Rasi(0,0,20,30), new Rasi(0,0,61,6,0), new Degree(0.98347,0)), //190
            new MandaRaviItem(new Rasi(0,0,22,30), new Rasi(0,0,61,5,24), new Degree(0.98354,54)),
            new MandaRaviItem(new Rasi(0,0,24,30), new Rasi(0,0,61,4,48), new Degree(0.98362,48)),
            new MandaRaviItem(new Rasi(0,0,26,30), new Rasi(0,0,61,4,12), new Degree(0.98370,42)),
            new MandaRaviItem(new Rasi(0,0,28,30), new Rasi(0,0,61,3,36), new Degree(0.98378,36)),
            new MandaRaviItem(new Rasi(0,0,30,30), new Rasi(0,0,61,3,0), new Degree(0.98386,30)),
            new MandaRaviItem(new Rasi(0,0,32,30), new Rasi(0,0,61,2,24), new Degree(0.98394,24)),
            new MandaRaviItem(new Rasi(0,0,34,24), new Rasi(0,0,61,1,48), new Degree(0.98402,18)),
            new MandaRaviItem(new Rasi(0,0,36,24), new Rasi(0,0,61,1,12), new Degree(0.98410,12)),
            new MandaRaviItem(new Rasi(0,0,38,18), new Rasi(0,0,61,0,36), new Degree(0.98418,6)),
            new MandaRaviItem(new Rasi(0,0,40,18), new Rasi(0,0,61,0,0), new Degree(0.98426,0)), //200
            new MandaRaviItem(new Rasi(0,0,42,12), new Rasi(0,0,60,59,24), new Degree(0.98438,42)),
            new MandaRaviItem(new Rasi(0,0,44,6), new Rasi(0,0,60,58,48), new Degree(0.98451,24)),
            new MandaRaviItem(new Rasi(0,0,46,0), new Rasi(0,0,60,58,12), new Degree(0.98464,6)),
            new MandaRaviItem(new Rasi(0,0,47,54), new Rasi(0,0,60,57,36), new Degree(0.98476,48)),
            new MandaRaviItem(new Rasi(0,0,49,42), new Rasi(0,0,60,57,0), new Degree(0.98489,30)),
            new MandaRaviItem(new Rasi(0,0,51,36), new Rasi(0,0,60,56,24), new Degree(0.98502,12)),
            new MandaRaviItem(new Rasi(0,0,53,24), new Rasi(0,0,60,55,48), new Degree(0.98514,54)),
            new MandaRaviItem(new Rasi(0,0,55,12), new Rasi(0,0,60,55,12), new Degree(0.98527,36)),
            new MandaRaviItem(new Rasi(0,0,57,0), new Rasi(0,0,60,54,36), new Degree(0.98540,18)),
            new MandaRaviItem(new Rasi(0,0,58,48), new Rasi(0,0,60,54,0), new Degree(0.98553,0)), //210
            new MandaRaviItem(new Rasi(0,1,0,30), new Rasi(0,0,60,52,48), new Degree(0.98570,18)),
            new MandaRaviItem(new Rasi(0,1,2,18), new Rasi(0,0,60,51,36), new Degree(0.98587,36)),
            new MandaRaviItem(new Rasi(0,1,4,0), new Rasi(0,0,60,50,24), new Degree(0.98604,54)),
            new MandaRaviItem(new Rasi(0,1,5,42), new Rasi(0,0,60,49,12), new Degree(0.98622,12)),
            new MandaRaviItem(new Rasi(0,1,7,24), new Rasi(0,0,60,48,0), new Degree(0.98639,30)),
            new MandaRaviItem(new Rasi(0,1,9,0), new Rasi(0,0,60,46,48), new Degree(0.98656,48)),
            new MandaRaviItem(new Rasi(0,1,10,36), new Rasi(0,0,60,45,36), new Degree(0.98674,6)),
            new MandaRaviItem(new Rasi(0,1,12,12), new Rasi(0,0,60,44,24), new Degree(0.98691,24)),
            new MandaRaviItem(new Rasi(0,1,13,48), new Rasi(0,0,60,43,12), new Degree(0.98708,42)),
            new MandaRaviItem(new Rasi(0,1,15,24), new Rasi(0,0,60,42,0), new Degree(0.98726,0)), //220
            new MandaRaviItem(new Rasi(0,1,17,0), new Rasi(0,0,60,40,12), new Degree(0.98747,12)),
            new MandaRaviItem(new Rasi(0,1,18,30), new Rasi(0,0,60,38,24), new Degree(0.98768,24)),
            new MandaRaviItem(new Rasi(0,1,19,54), new Rasi(0,0,60,36,36), new Degree(0.98789,36)),
            new MandaRaviItem(new Rasi(0,1,21,24), new Rasi(0,0,60,34,48), new Degree(0.98810,48)),
            new MandaRaviItem(new Rasi(0,1,22,48), new Rasi(0,0,60,33,0), new Degree(0.98832,0)),
            new MandaRaviItem(new Rasi(0,1,24,12), new Rasi(0,0,60,31,12), new Degree(0.98853,12)),
            new MandaRaviItem(new Rasi(0,1,25,36), new Rasi(0,0,60,28,24), new Degree(0.98874,24)),
            new MandaRaviItem(new Rasi(0,1,27,0), new Rasi(0,0,60,27,36), new Degree(0.98895,36)),
            new MandaRaviItem(new Rasi(0,1,28,18), new Rasi(0,0,60,25,48), new Degree(0.98916,48)),
            new MandaRaviItem(new Rasi(0,1,29,36), new Rasi(0,0,60,24,0), new Degree(0.98938,0)), //230
            new MandaRaviItem(new Rasi(0,1,30,54), new Rasi(0,0,60,22,12), new Degree(0.98962,24)),
            new MandaRaviItem(new Rasi(0,1,32,6), new Rasi(0,0,60,20,24), new Degree(0.98986,48)),
            new MandaRaviItem(new Rasi(0,1,33,24), new Rasi(0,0,60,18,36), new Degree(0.99011,12)),
            new MandaRaviItem(new Rasi(0,1,34,36), new Rasi(0,0,60,16,48), new Degree(0.99035,36)),
            new MandaRaviItem(new Rasi(0,1,35,42), new Rasi(0,0,60,15,0), new Degree(0.99060,0)),
            new MandaRaviItem(new Rasi(0,1,36,48), new Rasi(0,0,60,13,12), new Degree(0.99084,24)),
            new MandaRaviItem(new Rasi(0,1,37,54), new Rasi(0,0,60,11,24), new Degree(0.99108,48)),
            new MandaRaviItem(new Rasi(0,1,39,0), new Rasi(0,0,60,9,36), new Degree(0.99133,12)),
            new MandaRaviItem(new Rasi(0,1,40,0), new Rasi(0,0,60,7,48), new Degree(0.99157,36)),
            new MandaRaviItem(new Rasi(0,1,41,0), new Rasi(0,0,60,6,0), new Degree(0.99152,0)), //240
            new MandaRaviItem(new Rasi(0,1,42,0), new Rasi(0,0,60,3,36), new Degree(0.99208,54)),
            new MandaRaviItem(new Rasi(0,1,42,54), new Rasi(0,0,60,1,12), new Degree(0.99235,48)),
            new MandaRaviItem(new Rasi(0,1,43,48), new Rasi(0,0,59,58,48), new Degree(0.99262,42)),
            new MandaRaviItem(new Rasi(0,1,44,42), new Rasi(0,0,59,56,24), new Degree(0.99289,36)),
            new MandaRaviItem(new Rasi(0,1,45,30), new Rasi(0,0,59,54,0), new Degree(0.99316,30)),
            new MandaRaviItem(new Rasi(0,1,46,18), new Rasi(0,0,59,51,36), new Degree(0.99343,24)),
            new MandaRaviItem(new Rasi(0,1,47,6), new Rasi(0,0,59,49,12), new Degree(0.99370,18)),
            new MandaRaviItem(new Rasi(0,1,47,54), new Rasi(0,0,59,46,48), new Degree(0.99397,12)),
            new MandaRaviItem(new Rasi(0,1,48,36), new Rasi(0,0,59,44,24), new Degree(0.99424,6)),
            new MandaRaviItem(new Rasi(0,1,49,12), new Rasi(0,0,59,42,0), new Degree(0.99451,0)), //250
            new MandaRaviItem(new Rasi(0,1,49,54), new Rasi(0,0,59,40,12), new Degree(0.99479,30)),
            new MandaRaviItem(new Rasi(0,1,50,30), new Rasi(0,0,59,38,24), new Degree(0.99508,0)),
            new MandaRaviItem(new Rasi(0,1,51,0), new Rasi(0,0,59,36,36), new Degree(0.99536,30)),
            new MandaRaviItem(new Rasi(0,1,51,36), new Rasi(0,0,59,34,48), new Degree(0.99565,0)),
            new MandaRaviItem(new Rasi(0,1,52,6), new Rasi(0,0,59,33,0), new Degree(0.99593,30)),
            new MandaRaviItem(new Rasi(0,1,52,36), new Rasi(0,0,59,31,12), new Degree(0.99622,0)), //256
            new MandaRaviItem(new Rasi(0,1,53,0), new Rasi(0,0,59,29,24), new Degree(0.99650,30)),
            new MandaRaviItem(new Rasi(0,1,53,24), new Rasi(0,0,59,27,36), new Degree(0.99679,0)),
            new MandaRaviItem(new Rasi(0,1,53,48), new Rasi(0,0,59,25,48), new Degree(0.99707,30)),
            new MandaRaviItem(new Rasi(0,1,54,6), new Rasi(0,0,59,24,0), new Degree(0.99736,0)), //260
            new MandaRaviItem(new Rasi(0,1,54,24), new Rasi(0,0,59,22,12), new Degree(0.99765,12)),
            new MandaRaviItem(new Rasi(0,1,54,36), new Rasi(0,0,59,20,24), new Degree(0.99794,24)),
            new MandaRaviItem(new Rasi(0,1,54,48), new Rasi(0,0,59,18,36), new Degree(0.99823,36)),
            new MandaRaviItem(new Rasi(0,1,55,0), new Rasi(0,0,59,16,48), new Degree(0.99852,48)),
            new MandaRaviItem(new Rasi(0,1,55,12), new Rasi(0,0,59,15,0), new Degree(0.99882,0)),
            new MandaRaviItem(new Rasi(0,1,55,18), new Rasi(0,0,59,13,12), new Degree(0.99911,12)),
            new MandaRaviItem(new Rasi(0,1,55,24), new Rasi(0,0,59,11,24), new Degree(0.99940,24)),
            new MandaRaviItem(new Rasi(0,1,55,24), new Rasi(0,0,59,9,36), new Degree(0.99969,36)),
            new MandaRaviItem(new Rasi(0,1,55,24), new Rasi(0,0,59,7,48), new Degree(0.99998,48)),
            new MandaRaviItem(new Rasi(0,1,55,24), new Rasi(0,0,59,6,0), new Degree(1.00028,0)), //270
            new MandaRaviItem(new Rasi(0,1,55,24), new Rasi(0,0,59,3,36), new Degree(1.00057,0)),
            new MandaRaviItem(new Rasi(0,1,55,18), new Rasi(0,0,59,1,12), new Degree(1.00086,0)),
            new MandaRaviItem(new Rasi(0,1,55,6), new Rasi(0,0,58,58,48), new Degree(1.00115,0)),
            new MandaRaviItem(new Rasi(0,1,55,0), new Rasi(0,0,58,56,24), new Degree(1.00144,0)),
            new MandaRaviItem(new Rasi(0,1,54,48), new Rasi(0,0,58,54,0), new Degree(1.00173,0)),
            new MandaRaviItem(new Rasi(0,1,54,30), new Rasi(0,0,58,51,36), new Degree(1.00202,0)),
            new MandaRaviItem(new Rasi(0,1,54,18), new Rasi(0,0,58,49,12), new Degree(1.00231,0)),
            new MandaRaviItem(new Rasi(0,1,54,0), new Rasi(0,0,58,46,48), new Degree(1.00260,0)),
            new MandaRaviItem(new Rasi(0,1,53,36), new Rasi(0,0,58,44,24), new Degree(1.00289,0)),
            new MandaRaviItem(new Rasi(0,1,53,12), new Rasi(0,0,58,42,0), new Degree(1.00318,0)), //280
            new MandaRaviItem(new Rasi(0,1,52,48), new Rasi(0,0,58,40,12), new Degree(1.00346,6)),
            new MandaRaviItem(new Rasi(0,1,52,24), new Rasi(0,0,58,38,24), new Degree(1.00374,12)),
            new MandaRaviItem(new Rasi(0,1,51,54), new Rasi(0,0,58,36,36), new Degree(1.00402,18)),
            new MandaRaviItem(new Rasi(0,1,51,24), new Rasi(0,0,58,34,48), new Degree(1.00430,24)),
            new MandaRaviItem(new Rasi(0,1,50,48), new Rasi(0,0,58,33,0), new Degree(1.00458,30)),
            new MandaRaviItem(new Rasi(0,1,50,18), new Rasi(0,0,58,31,12), new Degree(1.00486,36)),
            new MandaRaviItem(new Rasi(0,1,49,42), new Rasi(0,0,58,29,24), new Degree(1.00514,42)),
            new MandaRaviItem(new Rasi(0,1,49,0), new Rasi(0,0,58,27,36), new Degree(1.00542,48)),
            new MandaRaviItem(new Rasi(0,1,48,24), new Rasi(0,0,58,25,48), new Degree(1.00570,54)),
            new MandaRaviItem(new Rasi(0,1,47,42), new Rasi(0,0,58,24,0), new Degree(1.00599,0)), //290
            new MandaRaviItem(new Rasi(0,1,47,0), new Rasi(0,0,58,22,12), new Degree(1.00625,6)),
            new MandaRaviItem(new Rasi(0,1,46,12), new Rasi(0,0,58,20,24), new Degree(1.00651,12)),
            new MandaRaviItem(new Rasi(0,1,45,24), new Rasi(0,0,58,18,36), new Degree(1.00677,18)),
            new MandaRaviItem(new Rasi(0,1,44,30), new Rasi(0,0,58,16,48), new Degree(1.00703,24)),
            new MandaRaviItem(new Rasi(0,1,43,42), new Rasi(0,0,58,15,0), new Degree(1.00729,30)),
            new MandaRaviItem(new Rasi(0,1,42,48), new Rasi(0,0,58,13,12), new Degree(1.00755,36)),
            new MandaRaviItem(new Rasi(0,1,41,54), new Rasi(0,0,58,11,24), new Degree(1.00781,42)),
            new MandaRaviItem(new Rasi(0,1,40,54), new Rasi(0,0,58,9,36), new Degree(1.00807,48)),
            new MandaRaviItem(new Rasi(0,1,39,54), new Rasi(0,0,58,7,48), new Degree(1.00833,54)),
            new MandaRaviItem(new Rasi(0,1,38,54), new Rasi(0,0,58,6,0), new Degree(1.00860,0)), //300
            new MandaRaviItem(new Rasi(0,1,37,54), new Rasi(0,0,58,4,12), new Degree(1.00883,36)),
            new MandaRaviItem(new Rasi(0,1,36,48), new Rasi(0,0,58,2,24), new Degree(1.00907,12)),
            new MandaRaviItem(new Rasi(0,1,35,42), new Rasi(0,0,58,0,36), new Degree(1.00930,48)),
            new MandaRaviItem(new Rasi(0,1,34,36), new Rasi(0,0,57,58,48), new Degree(1.00954,24)),
            new MandaRaviItem(new Rasi(0,1,33,24), new Rasi(0,0,57,57,0), new Degree(1.00978,0)),
            new MandaRaviItem(new Rasi(0,1,32,12), new Rasi(0,0,57,55,12), new Degree(1.01001,36)),
            new MandaRaviItem(new Rasi(0,1,31,0), new Rasi(0,0,57,53,24), new Degree(1.01025,12)),
            new MandaRaviItem(new Rasi(0,1,29,48), new Rasi(0,0,57,51,36), new Degree(1.01048,48)),
            new MandaRaviItem(new Rasi(0,1,28,30), new Rasi(0,0,57,49,48), new Degree(1.01072,24)),
            new MandaRaviItem(new Rasi(0,1,27,12), new Rasi(0,0,57,48,0), new Degree(1.01096,0)), //310
            new MandaRaviItem(new Rasi(0,1,25,54), new Rasi(0,0,57,46,48), new Degree(1.01116,12)),
            new MandaRaviItem(new Rasi(0,1,24,36), new Rasi(0,0,57,45,36), new Degree(1.01136,24)),
            new MandaRaviItem(new Rasi(0,1,23,12), new Rasi(0,0,57,44,24), new Degree(1.01156,36)), //313
            new MandaRaviItem(new Rasi(0,1,21,54), new Rasi(0,0,57,43,12), new Degree(1.01176,48)),
            new MandaRaviItem(new Rasi(0,1,20,24), new Rasi(0,0,57,42,0), new Degree(1.01197,0)),
            new MandaRaviItem(new Rasi(0,1,19,0), new Rasi(0,0,57,40,48), new Degree(1.01217,12)),
            new MandaRaviItem(new Rasi(0,1,17,30), new Rasi(0,0,57,39,36), new Degree(1.01237,24)),
            new MandaRaviItem(new Rasi(0,1,16,0), new Rasi(0,0,57,38,24), new Degree(1.01257,36)),
            new MandaRaviItem(new Rasi(0,1,14,30), new Rasi(0,0,57,37,12), new Degree(1.01277,48)),
            new MandaRaviItem(new Rasi(0,1,13,0), new Rasi(0,0,57,36,0), new Degree(1.01298,0)), //320
            new MandaRaviItem(new Rasi(0,1,11,30), new Rasi(0,0,57,34,48), new Degree(1.01314,18)),
            new MandaRaviItem(new Rasi(0,1,9,54), new Rasi(0,0,57,33,36), new Degree(1.01330,36)),
            new MandaRaviItem(new Rasi(0,1,8,18), new Rasi(0,0,57,32,24), new Degree(1.01346,54)),
            new MandaRaviItem(new Rasi(0,1,6,42), new Rasi(0,0,57,31,12), new Degree(1.01363,12)),
            new MandaRaviItem(new Rasi(0,1,5,6), new Rasi(0,0,57,30,0), new Degree(1.01379,30)),
            new MandaRaviItem(new Rasi(0,1,3,24), new Rasi(0,0,57,28,48), new Degree(1.01395,48)),
            new MandaRaviItem(new Rasi(0,1,1,48), new Rasi(0,0,57,27,36), new Degree(1.01412,6)),
            new MandaRaviItem(new Rasi(0,1,0,6), new Rasi(0,0,57,26,24), new Degree(1.01428,24)),
            new MandaRaviItem(new Rasi(0,0,58,24), new Rasi(0,0,57,25,12), new Degree(1.01444,42)),
            new MandaRaviItem(new Rasi(0,0,56,42), new Rasi(0,0,57,24,0), new Degree(1.01461,0)), //330
            new MandaRaviItem(new Rasi(0,0,55,0), new Rasi(0,0,57,23,24), new Degree(1.01473,0)),
            new MandaRaviItem(new Rasi(0,0,53,12), new Rasi(0,0,57,22,48), new Degree(1.01485,0)),
            new MandaRaviItem(new Rasi(0,0,51,24), new Rasi(0,0,57,22,12), new Degree(1.01497,0)),
            new MandaRaviItem(new Rasi(0,0,49,42), new Rasi(0,0,57,21,36), new Degree(1.01509,0)),
            new MandaRaviItem(new Rasi(0,0,47,54), new Rasi(0,0,57,21,0), new Degree(1.01521,0)),
            new MandaRaviItem(new Rasi(0,0,46,6), new Rasi(0,0,57,20,24), new Degree(1.01533,0)),
            new MandaRaviItem(new Rasi(0,0,44,12), new Rasi(0,0,57,19,48), new Degree(1.01545,0)),
            new MandaRaviItem(new Rasi(0,0,42,24), new Rasi(0,0,57,19,12), new Degree(1.01557,0)),
            new MandaRaviItem(new Rasi(0,0,40,36), new Rasi(0,0,57,18,36), new Degree(1.01569,0)),
            new MandaRaviItem(new Rasi(0,0,38,42), new Rasi(0,0,57,18,0), new Degree(1.01581,0)), //340
            new MandaRaviItem(new Rasi(0,0,36,54), new Rasi(0,0,57,17,24), new Degree(1.01588,18)),
            new MandaRaviItem(new Rasi(0,0,35,0), new Rasi(0,0,57,16,48), new Degree(1.0195,36)),
            new MandaRaviItem(new Rasi(0,0,33,6), new Rasi(0,0,57,16,12), new Degree(1.01602,54)),
            new MandaRaviItem(new Rasi(0,0,31,12), new Rasi(0,0,57,15,36), new Degree(1.01610,12)),
            new MandaRaviItem(new Rasi(0,0,29,18), new Rasi(0,0,57,15,0), new Degree(1.01617,30)),
            new MandaRaviItem(new Rasi(0,0,27,24), new Rasi(0,0,57,14,24), new Degree(1.01624,48)),
            new MandaRaviItem(new Rasi(0,0,25,24), new Rasi(0,0,57,13,48), new Degree(1.01632,6)),
            new MandaRaviItem(new Rasi(0,0,23,30), new Rasi(0,0,57,13,12), new Degree(1.01639,24)),
            new MandaRaviItem(new Rasi(0,0,21,36), new Rasi(0,0,57,12,36), new Degree(1.01646,42)),
            new MandaRaviItem(new Rasi(0,0,19,36), new Rasi(0,0,57,12,0), new Degree(1.01654,0)),//350
            new MandaRaviItem(new Rasi(0,0,17,42), new Rasi(0,0,57,11,24), new Degree(1.01656,30)),
            new MandaRaviItem(new Rasi(0,0,15,42), new Rasi(0,0,57,10,48), new Degree(1.01659,0)),
            new MandaRaviItem(new Rasi(0,0,13,48), new Rasi(0,0,57,10,12), new Degree(1.01661,30)),
            new MandaRaviItem(new Rasi(0,0,11,48), new Rasi(0,0,57,9,36), new Degree(1.01664,0)),
            new MandaRaviItem(new Rasi(0,0,9,48), new Rasi(0,0,57,9,0), new Degree(1.01666,30)),
            new MandaRaviItem(new Rasi(0,0,7,54), new Rasi(0,0,57,8,24), new Degree(1.01669,0)),
            new MandaRaviItem(new Rasi(0,0,5,54), new Rasi(0,0,57,7,48), new Degree(1.01671,30)),
            new MandaRaviItem(new Rasi(0,0,3,54), new Rasi(0,0,57,7,12), new Degree(1.01674,0)),
            new MandaRaviItem(new Rasi(0,0,2,0), new Rasi(0,0,57,6,36), new Degree(1.01676,30)),
            new MandaRaviItem(new Rasi(0,0,0,0), new Rasi(0,0,57,6,0), new Degree(1.01679,0)) //360
        }; 
	#endregion

        #region Chandra manda padakalu
        public static MandaChandraItem GetMandaChandraItem(int Index)
        {
            MandaChandraItem CItem = (MandaChandraItem)Constants.MandaChandraPadakalu[Index];
            MandaChandraItem retItem = new MandaChandraItem(CItem.MandaPadakam, CItem.Gati);
            return retItem;
        }
		private static MandaChandraItem[] MandaChandraPadakalu = new MandaChandraItem[] {
            new MandaChandraItem(new Rasi(0,0,0,0), new Rasi(0,0,-80,12)),
            new MandaChandraItem(new Rasi(0,0,6,12), new Rasi(0,0,-80,12)),
            new MandaChandraItem(new Rasi(0,0,12,24), new Rasi(0,0,-80,6)),
            new MandaChandraItem(new Rasi(0,0,18,30), new Rasi(0,0,-80,0)),
            new MandaChandraItem(new Rasi(0,0,24,42), new Rasi(0,0,-79,48)),
            new MandaChandraItem(new Rasi(0,0,30,54), new Rasi(0,0,-79,30)),
            new MandaChandraItem(new Rasi(0,0,37,0), new Rasi(0,0,-79,18)),
            new MandaChandraItem(new Rasi(0,0,43,12), new Rasi(0,0,-79,0)),
            new MandaChandraItem(new Rasi(0,0,49,18), new Rasi(0,0,-78,42)),
            new MandaChandraItem(new Rasi(0,0,55,24), new Rasi(0,0,-78,24)), 
            new MandaChandraItem(new Rasi(0,1,1,24), new Rasi(0,0,-78,6)),   //10
            new MandaChandraItem(new Rasi(0,1,7,36), new Rasi(0,0,-77,42)),
            new MandaChandraItem(new Rasi(0,1,13,42), new Rasi(0,0,-77,24)),
            new MandaChandraItem(new Rasi(0,1,19,48), new Rasi(0,0,-77,0)),
            new MandaChandraItem(new Rasi(0,1,25,48), new Rasi(0,0,-76,36)),
            new MandaChandraItem(new Rasi(0,1,31,48), new Rasi(0,0,-76,6)),
            new MandaChandraItem(new Rasi(0,1,37,48), new Rasi(0,0,-75,36)),
            new MandaChandraItem(new Rasi(0,1,43,48), new Rasi(0,0,-75,12)),
            new MandaChandraItem(new Rasi(0,1,49,42), new Rasi(0,0,-74,48)),
            new MandaChandraItem(new Rasi(0,1,55,36), new Rasi(0,0,-74,18)), 
            new MandaChandraItem(new Rasi(0,2,1,30), new Rasi(0,0,-73,42)),  //20
            new MandaChandraItem(new Rasi(0,2,7,24), new Rasi(0,0,-73,12)),
            new MandaChandraItem(new Rasi(0,2,13,12), new Rasi(0,0,-72,36)),
            new MandaChandraItem(new Rasi(0,2,19,0), new Rasi(0,0,-72,0)),
            new MandaChandraItem(new Rasi(0,2,24,48), new Rasi(0,0,-71,24)),
            new MandaChandraItem(new Rasi(0,2,30,30), new Rasi(0,0,-70,42)),
            new MandaChandraItem(new Rasi(0,2,36,12), new Rasi(0,0,-70,6)),
            new MandaChandraItem(new Rasi(0,2,41,48), new Rasi(0,0,-69,24)),
            new MandaChandraItem(new Rasi(0,2,47,24), new Rasi(0,0,-68,42)),
            new MandaChandraItem(new Rasi(0,2,53,0), new Rasi(0,0,-68,0)), 
            new MandaChandraItem(new Rasi(0,2,58,30), new Rasi(0,0,-67,18)), //30
            new MandaChandraItem(new Rasi(0,3,4,0), new Rasi(0,0,-66,42)),
            new MandaChandraItem(new Rasi(0,3,9,24), new Rasi(0,0,-66,6)),
            new MandaChandraItem(new Rasi(0,3,14,48), new Rasi(0,0,-65,18)),
            new MandaChandraItem(new Rasi(0,3,20,6), new Rasi(0,0,-64,30)),
            new MandaChandraItem(new Rasi(0,3,25,18), new Rasi(0,0,-63,48)),
            new MandaChandraItem(new Rasi(0,3,30,36), new Rasi(0,0,-63,0)),
            new MandaChandraItem(new Rasi(0,3,35,42), new Rasi(0,0,-62,6)),
            new MandaChandraItem(new Rasi(0,3,40,48), new Rasi(0,0,-61,12)),
            new MandaChandraItem(new Rasi(0,3,45,54), new Rasi(0,0,-60,12)), 
            new MandaChandraItem(new Rasi(0,3,50,54), new Rasi(0,0,-59,12)), //40
            new MandaChandraItem(new Rasi(0,3,55,48), new Rasi(0,0,-58,18)),
            new MandaChandraItem(new Rasi(0,4,0,42), new Rasi(0,0,-57,24)),
            new MandaChandraItem(new Rasi(0,4,5,30), new Rasi(0,0,-56,30)),
            new MandaChandraItem(new Rasi(0,4,10,12), new Rasi(0,0,-55,30)),
            new MandaChandraItem(new Rasi(0,4,14,54), new Rasi(0,0,-54,30)),
            new MandaChandraItem(new Rasi(0,4,19,30), new Rasi(0,0,-53,30)),
            new MandaChandraItem(new Rasi(0,4,24,6), new Rasi(0,0,-52,30)),
            new MandaChandraItem(new Rasi(0,4,28,36), new Rasi(0,0,-51,24)),
            new MandaChandraItem(new Rasi(0,4,33,0), new Rasi(0,0,-50,18)),  //49
            new MandaChandraItem(new Rasi(0,4,37,18), new Rasi(0,0,-49,12)), //50
            new MandaChandraItem(new Rasi(0,4,41,36), new Rasi(0,0,-48,6)),
            new MandaChandraItem(new Rasi(0,4,45,42), new Rasi(0,0,-47,6)),
            new MandaChandraItem(new Rasi(0,4,49,48), new Rasi(0,0,-46,0)),
            new MandaChandraItem(new Rasi(0,4,53,54), new Rasi(0,0,-44,54)),
            new MandaChandraItem(new Rasi(0,4,57,48), new Rasi(0,0,-43,48)),
            new MandaChandraItem(new Rasi(0,5,1,42), new Rasi(0,0,-42,36)),
            new MandaChandraItem(new Rasi(0,5,5,30), new Rasi(0,0,-41,30)),
            new MandaChandraItem(new Rasi(0,5,9,12), new Rasi(0,0,-40,18)),
            new MandaChandraItem(new Rasi(0,5,12,48), new Rasi(0,0,-39,6)), //59
            new MandaChandraItem(new Rasi(0,5,16,24), new Rasi(0,0,-37,54)), //60
            new MandaChandraItem(new Rasi(0,5,19,48), new Rasi(0,0,-36,42)),
            new MandaChandraItem(new Rasi(0,5,23,12), new Rasi(0,0,-35,30)),
            new MandaChandraItem(new Rasi(0,5,26,24), new Rasi(0,0,-34,18)),
            new MandaChandraItem(new Rasi(0,5,29,36), new Rasi(0,0,-33,0)),
            new MandaChandraItem(new Rasi(0,5,32,42), new Rasi(0,0,-31,42)),
            new MandaChandraItem(new Rasi(0,5,35,42), new Rasi(0,0,-30,24)),
            new MandaChandraItem(new Rasi(0,5,38,36), new Rasi(0,0,-29,6)),
            new MandaChandraItem(new Rasi(0,5,41,30), new Rasi(0,0,-27,48)),
            new MandaChandraItem(new Rasi(0,5,44,12), new Rasi(0,0,-26,24)), //69
            new MandaChandraItem(new Rasi(0,5,46,48), new Rasi(0,0,-25,0)), //70
            new MandaChandraItem(new Rasi(0,5,49,18), new Rasi(0,0,-23,36)),
            new MandaChandraItem(new Rasi(0,5,51,48), new Rasi(0,0,-22,12)),
            new MandaChandraItem(new Rasi(0,5,54,6), new Rasi(0,0,-20,48)),
            new MandaChandraItem(new Rasi(0,5,56,18), new Rasi(0,0,-19,24)),
            new MandaChandraItem(new Rasi(0,5,58,24), new Rasi(0,0,-18,0)),
            new MandaChandraItem(new Rasi(0,6,0,30), new Rasi(0,0,-16,36)),
            new MandaChandraItem(new Rasi(0,6,2,24), new Rasi(0,0,-15,12)),
            new MandaChandraItem(new Rasi(0,6,4,12), new Rasi(0,0,-13,48)),
            new MandaChandraItem(new Rasi(0,6,5,54), new Rasi(0,0,-12,24)), 
            new MandaChandraItem(new Rasi(0,6,7,30), new Rasi(0,0,-10,54)), //80
            new MandaChandraItem(new Rasi(0,6,9,0), new Rasi(0,0,-9,30)),
            new MandaChandraItem(new Rasi(0,6,10,24), new Rasi(0,0,-8,0)),
            new MandaChandraItem(new Rasi(0,6,11,42), new Rasi(0,0,-6,30)),
            new MandaChandraItem(new Rasi(0,6,12,54), new Rasi(0,0,-5,0)),
            new MandaChandraItem(new Rasi(0,6,13,54), new Rasi(0,0,-3,30)),
            new MandaChandraItem(new Rasi(0,6,14,54), new Rasi(0,0,-2,0)),
            new MandaChandraItem(new Rasi(0,6,15,42), new Rasi(0,0,0,-30)),
            new MandaChandraItem(new Rasi(0,6,16,24), new Rasi(0,0,+1,0)),
            new MandaChandraItem(new Rasi(0,6,17,6), new Rasi(0,0,2,30)), 
            new MandaChandraItem(new Rasi(0,6,17,36), new Rasi(0,0,4,0)), //90
            new MandaChandraItem(new Rasi(0,6,18,0), new Rasi(0,0,5,30)),
            new MandaChandraItem(new Rasi(0,6,18,18), new Rasi(0,0,7,0)),
            new MandaChandraItem(new Rasi(0,6,18,24), new Rasi(0,0,8,36)),
            new MandaChandraItem(new Rasi(0,6,18,30), new Rasi(0,0,10,6)),
            new MandaChandraItem(new Rasi(0,6,18,24), new Rasi(0,0,11,36)),
            new MandaChandraItem(new Rasi(0,6,18,12), new Rasi(0,0,13,12)),
            new MandaChandraItem(new Rasi(0,6,17,54), new Rasi(0,0,14,42)),
            new MandaChandraItem(new Rasi(0,6,17,30), new Rasi(0,0,16,12)),
            new MandaChandraItem(new Rasi(0,6,17,0), new Rasi(0,0,17,48)), 
            new MandaChandraItem(new Rasi(0,6,16,18), new Rasi(0,0,19,18)), //100
            new MandaChandraItem(new Rasi(0,6,15,36), new Rasi(0,0,20,48)),
            new MandaChandraItem(new Rasi(0,6,14,42), new Rasi(0,0,22,18)),
            new MandaChandraItem(new Rasi(0,6,13,42), new Rasi(0,0,23,54)),
            new MandaChandraItem(new Rasi(0,6,12,36), new Rasi(0,0,25,24)),
            new MandaChandraItem(new Rasi(0,6,11,18), new Rasi(0,0,26,54)),
            new MandaChandraItem(new Rasi(0,6,10,0), new Rasi(0,0,28,24)),
            new MandaChandraItem(new Rasi(0,6,8,30), new Rasi(0,0,30,0)),
            new MandaChandraItem(new Rasi(0,6,6,54), new Rasi(0,0,31,30)), 
            new MandaChandraItem(new Rasi(0,6,5,12), new Rasi(0,0,33,0)), 
            new MandaChandraItem(new Rasi(0,6,3,24), new Rasi(0,0,34,30)), //110
            new MandaChandraItem(new Rasi(0,6,1,24), new Rasi(0,0,36,0)),
            new MandaChandraItem(new Rasi(0,5,59,24), new Rasi(0,0,37,30)),
            new MandaChandraItem(new Rasi(0,5,57,12), new Rasi(0,0,39,0)),
            new MandaChandraItem(new Rasi(0,5,54,54), new Rasi(0,0,40,30)),
            new MandaChandraItem(new Rasi(0,5,52,30), new Rasi(0,0,42,0)),
            new MandaChandraItem(new Rasi(0,5,50,0), new Rasi(0,0,43,24)),
            new MandaChandraItem(new Rasi(0,5,47,18), new Rasi(0,0,44,54)),
            new MandaChandraItem(new Rasi(0,5,44,36), new Rasi(0,0,46,18)), //118
            new MandaChandraItem(new Rasi(0,5,41,42), new Rasi(0,0,47,42)), //119
            new MandaChandraItem(new Rasi(0,5,38,42), new Rasi(0,0,49,6)), //120
            new MandaChandraItem(new Rasi(0,5,35,36), new Rasi(0,0,50,30)),
            new MandaChandraItem(new Rasi(0,5,32,24), new Rasi(0,0,51,54)),
            new MandaChandraItem(new Rasi(0,5,29,6), new Rasi(0,0,53,12)),
            new MandaChandraItem(new Rasi(0,5,25,36), new Rasi(0,0,51,54)),
            new MandaChandraItem(new Rasi(0,5,22,6), new Rasi(0,0,55,54)),
            new MandaChandraItem(new Rasi(0,5,18,30), new Rasi(0,0,57,18)),
            new MandaChandraItem(new Rasi(0,5,14,42), new Rasi(0,0,58,36)),
            new MandaChandraItem(new Rasi(0,5,10,48), new Rasi(0,0,60,0)),
            new MandaChandraItem(new Rasi(0,5,6,48), new Rasi(0,0,61,18)),
            new MandaChandraItem(new Rasi(0,5,2,48), new Rasi(0,0,62,36)),  //130
            new MandaChandraItem(new Rasi(0,4,58,24), new Rasi(0,0,63,48)), //131
            new MandaChandraItem(new Rasi(0,4,54,18), new Rasi(0,0,65,0)),
            new MandaChandraItem(new Rasi(0,4,49,54), new Rasi(0,0,66,12)),
            new MandaChandraItem(new Rasi(0,4,45,24), new Rasi(0,0,67,18)),
            new MandaChandraItem(new Rasi(0,4,40,48), new Rasi(0,0,68,30)),
            new MandaChandraItem(new Rasi(0,4,36,6), new Rasi(0,0,69,36)),
            new MandaChandraItem(new Rasi(0,4,31,18), new Rasi(0,0,70,42)),
            new MandaChandraItem(new Rasi(0,4,26,24), new Rasi(0,0,71,48)),
            new MandaChandraItem(new Rasi(0,4,21,30), new Rasi(0,0,72,54)),
            new MandaChandraItem(new Rasi(0,4,16,24), new Rasi(0,0,74,0)), //140
            new MandaChandraItem(new Rasi(0,4,11,12), new Rasi(0,0,75,0)), //141
            new MandaChandraItem(new Rasi(0,4,6,0), new Rasi(0,0,76,0)),
            new MandaChandraItem(new Rasi(0,4,0,36), new Rasi(0,0,77,0)),
            new MandaChandraItem(new Rasi(0,3,55,12), new Rasi(0,0,78,0)),
            new MandaChandraItem(new Rasi(0,3,49,42), new Rasi(0,0,78,54)),
            new MandaChandraItem(new Rasi(0,3,44,6), new Rasi(0,0,79,48)),
            new MandaChandraItem(new Rasi(0,3,38,24), new Rasi(0,0,80,42)),
            new MandaChandraItem(new Rasi(0,3,32,42), new Rasi(0,0,81,30)),
            new MandaChandraItem(new Rasi(0,3,26,54), new Rasi(0,0,82,18)),
            new MandaChandraItem(new Rasi(0,3,21,0), new Rasi(0,0,83,6)),  //150
            new MandaChandraItem(new Rasi(0,3,15,0), new Rasi(0,0,83,48)), //151
            new MandaChandraItem(new Rasi(0,3,8,54), new Rasi(0,0,84,30)),
            new MandaChandraItem(new Rasi(0,3,2,48), new Rasi(0,0,85,12)),
            new MandaChandraItem(new Rasi(0,2,56,36), new Rasi(0,0,85,48)),
            new MandaChandraItem(new Rasi(0,2,50,24), new Rasi(0,0,86,24)),
            new MandaChandraItem(new Rasi(0,2,44,6), new Rasi(0,0,87,0)),
            new MandaChandraItem(new Rasi(0,2,37,42), new Rasi(0,0,87,36)),
            new MandaChandraItem(new Rasi(0,2,31,18), new Rasi(0,0,88,12)),
            new MandaChandraItem(new Rasi(0,2,24,48), new Rasi(0,0,88,42)),
            new MandaChandraItem(new Rasi(0,2,18,12), new Rasi(0,0,89,12)), //160
            new MandaChandraItem(new Rasi(0,2,11,36), new Rasi(0,0,89,36)), //161
            new MandaChandraItem(new Rasi(0,2,5,0), new Rasi(0,0,90,6)),
            new MandaChandraItem(new Rasi(0,1,58,18), new Rasi(0,0,90,30)),
            new MandaChandraItem(new Rasi(0,1,51,36), new Rasi(0,0,90,48)),
            new MandaChandraItem(new Rasi(0,1,44,48), new Rasi(0,0,91,6)),
            new MandaChandraItem(new Rasi(0,1,38,0), new Rasi(0,0,91,24)),
            new MandaChandraItem(new Rasi(0,1,31,12), new Rasi(0,0,91,42)),
            new MandaChandraItem(new Rasi(0,1,24,18), new Rasi(0,0,91,54)),
            new MandaChandraItem(new Rasi(0,1,17,24), new Rasi(0,0,92,6)),
            new MandaChandraItem(new Rasi(0,1,10,24), new Rasi(0,0,92,12)), //170
            new MandaChandraItem(new Rasi(0,1,3,30), new Rasi(0,0,92,18)), //171
            new MandaChandraItem(new Rasi(0,0,56,30), new Rasi(0,0,92,24)),
            new MandaChandraItem(new Rasi(0,0,49,30), new Rasi(0,0,92,30)),
            new MandaChandraItem(new Rasi(0,0,42,24), new Rasi(0,0,92,30)),
            new MandaChandraItem(new Rasi(0,0,35,24), new Rasi(0,0,92,30)),
            new MandaChandraItem(new Rasi(0,0,28,18), new Rasi(0,0,92,30)),
            new MandaChandraItem(new Rasi(0,0,21,18), new Rasi(0,0,92,24)),
            new MandaChandraItem(new Rasi(0,0,14,12), new Rasi(0,0,92,12)),
            new MandaChandraItem(new Rasi(0,0,7,6), new Rasi(0,0,92,0)),
            new MandaChandraItem(new Rasi(0,0,0,0), new Rasi(0,0,91,42)), //180
            new MandaChandraItem(new Rasi(0,0,7,6), new Rasi(0,0,91,24)), //181
            new MandaChandraItem(new Rasi(0,0,14,12), new Rasi(0,0,91,6)),
            new MandaChandraItem(new Rasi(0,0,21,18), new Rasi(0,0,90,42)),
            new MandaChandraItem(new Rasi(0,0,28,18), new Rasi(0,0,90,12)),
            new MandaChandraItem(new Rasi(0,0,35,24), new Rasi(0,0,89,48)),
            new MandaChandraItem(new Rasi(0,0,42,24), new Rasi(0,0,89,24)),
            new MandaChandraItem(new Rasi(0,0,49,30), new Rasi(0,0,88,54)),
            new MandaChandraItem(new Rasi(0,0,56,30), new Rasi(0,0,88,24)),
            new MandaChandraItem(new Rasi(0,1,3,30), new Rasi(0,0,87,48)),
            new MandaChandraItem(new Rasi(0,1,10,24), new Rasi(0,0,87,12)), //190
            new MandaChandraItem(new Rasi(0,1,17,24), new Rasi(0,0,86,36)), //191
            new MandaChandraItem(new Rasi(0,1,24,18), new Rasi(0,0,86,0)),
            new MandaChandraItem(new Rasi(0,1,31,12), new Rasi(0,0,85,18)),
            new MandaChandraItem(new Rasi(0,1,38,0), new Rasi(0,0,84,36)),
            new MandaChandraItem(new Rasi(0,1,44,48), new Rasi(0,0,83,54)),
            new MandaChandraItem(new Rasi(0,1,51,36), new Rasi(0,0,83,12)),
            new MandaChandraItem(new Rasi(0,1,58,18), new Rasi(0,0,82,24)),
            new MandaChandraItem(new Rasi(0,2,5,0), new Rasi(0,0,81,36)),
            new MandaChandraItem(new Rasi(0,2,11,36), new Rasi(0,0,80,48)),
            new MandaChandraItem(new Rasi(0,2,18,12), new Rasi(0,0,80,0)),  //200
            new MandaChandraItem(new Rasi(0,2,24,48), new Rasi(0,0,79,12)), //201
            new MandaChandraItem(new Rasi(0,2,31,18), new Rasi(0,0,78,24)),
            new MandaChandraItem(new Rasi(0,2,37,42), new Rasi(0,0,77,36)),
            new MandaChandraItem(new Rasi(0,2,44,6), new Rasi(0,0,76,48)),
            new MandaChandraItem(new Rasi(0,2,50,24), new Rasi(0,0,75,54)),
            new MandaChandraItem(new Rasi(0,2,56,36), new Rasi(0,0,74,54)),
            new MandaChandraItem(new Rasi(0,3,2,48), new Rasi(0,0,73,48)),
            new MandaChandraItem(new Rasi(0,3,8,54), new Rasi(0,0,72,42)),
            new MandaChandraItem(new Rasi(0,3,15,0), new Rasi(0,0,71,42)),
            new MandaChandraItem(new Rasi(0,3,21,0), new Rasi(0,0,70,36)), //210
            new MandaChandraItem(new Rasi(0,3,26,54), new Rasi(0,0,69,30)), //211
            new MandaChandraItem(new Rasi(0,3,32,42), new Rasi(0,0,68,18)),
            new MandaChandraItem(new Rasi(0,3,38,24), new Rasi(0,0,67,6)),
            new MandaChandraItem(new Rasi(0,3,44,6), new Rasi(0,0,65,54)),
            new MandaChandraItem(new Rasi(0,3,49,42), new Rasi(0,0,64,42)),
            new MandaChandraItem(new Rasi(0,3,55,12), new Rasi(0,0,63,30)),
            new MandaChandraItem(new Rasi(0,4,0,36), new Rasi(0,0,62,18)),
            new MandaChandraItem(new Rasi(0,4,6,0), new Rasi(0,0,61,0)),
            new MandaChandraItem(new Rasi(0,4,11,12), new Rasi(0,0,59,48)),
            new MandaChandraItem(new Rasi(0,4,16,24), new Rasi(0,0,58,30)), //220
            new MandaChandraItem(new Rasi(0,4,21,30), new Rasi(0,0,57,12)), //221
            new MandaChandraItem(new Rasi(0,4,26,24), new Rasi(0,0,55,54)),
            new MandaChandraItem(new Rasi(0,4,31,18), new Rasi(0,0,54,30)),
            new MandaChandraItem(new Rasi(0,4,36,6), new Rasi(0,0,53,12)),
            new MandaChandraItem(new Rasi(0,4,40,48), new Rasi(0,0,51,48)),
            new MandaChandraItem(new Rasi(0,4,45,24), new Rasi(0,0,50,24)),
            new MandaChandraItem(new Rasi(0,4,49,54), new Rasi(0,0,48,54)),
            new MandaChandraItem(new Rasi(0,4,54,18), new Rasi(0,0,47,36)),
            new MandaChandraItem(new Rasi(0,4,58,24), new Rasi(0,0,46,12)),
            new MandaChandraItem(new Rasi(0,5,2,48), new Rasi(0,0,44,42)), //230
            new MandaChandraItem(new Rasi(0,5,6,48), new Rasi(0,0,43,18)), //231
            new MandaChandraItem(new Rasi(0,5,10,48), new Rasi(0,0,41,54)),
            new MandaChandraItem(new Rasi(0,5,14,42), new Rasi(0,0,40,24)),
            new MandaChandraItem(new Rasi(0,5,18,30), new Rasi(0,0,39,0)),
            new MandaChandraItem(new Rasi(0,5,22,6), new Rasi(0,0,37,30)),
            new MandaChandraItem(new Rasi(0,5,25,36), new Rasi(0,0,36,0)),
            new MandaChandraItem(new Rasi(0,5,29,6), new Rasi(0,0,34,30)),
            new MandaChandraItem(new Rasi(0,5,32,24), new Rasi(0,0,33,0)),
            new MandaChandraItem(new Rasi(0,5,35,36), new Rasi(0,0,31,30)),
            new MandaChandraItem(new Rasi(0,5,38,42), new Rasi(0,0,29,54)),  //240
            new MandaChandraItem(new Rasi(0,5,41,42), new Rasi(0,0,28,24)), //241
            new MandaChandraItem(new Rasi(0,5,44,36), new Rasi(0,0,26,48)),
            new MandaChandraItem(new Rasi(0,5,47,18), new Rasi(0,0,25,18)),
            new MandaChandraItem(new Rasi(0,5,50,0), new Rasi(0,0,23,42)),
            new MandaChandraItem(new Rasi(0,5,52,30), new Rasi(0,0,22,12)),
            new MandaChandraItem(new Rasi(0,5,54,54), new Rasi(0,0,20,36)),
            new MandaChandraItem(new Rasi(0,5,57,12), new Rasi(0,0,19,6)),
            new MandaChandraItem(new Rasi(0,5,59,24), new Rasi(0,0,17,30)),
            new MandaChandraItem(new Rasi(0,6,1,24), new Rasi(0,0,16,0)),
            new MandaChandraItem(new Rasi(0,6,3,24), new Rasi(0,0,14,30)),  //250
            new MandaChandraItem(new Rasi(0,6,5,12), new Rasi(0,0,12,54)), //251
            new MandaChandraItem(new Rasi(0,6,6,54), new Rasi(0,0,11,24)),
            new MandaChandraItem(new Rasi(0,6,8,30), new Rasi(0,0,9,54)),
            new MandaChandraItem(new Rasi(0,6,10,0), new Rasi(0,0,8,24)),
            new MandaChandraItem(new Rasi(0,6,11,18), new Rasi(0,0,6,54)),
            new MandaChandraItem(new Rasi(0,6,12,36), new Rasi(0,0,5,24)),
            new MandaChandraItem(new Rasi(0,6,13,42), new Rasi(0,0,3,54)),
            new MandaChandraItem(new Rasi(0,6,14,42), new Rasi(0,0,2,54)),
            new MandaChandraItem(new Rasi(0,6,15,36), new Rasi(0,0,0,54)),
            new MandaChandraItem(new Rasi(0,6,16,18), new Rasi(0,0,0,-36)),  //260
            new MandaChandraItem(new Rasi(0,6,17,0), new Rasi(0,0,-2,6)),    //261
            new MandaChandraItem(new Rasi(0,6,17,30), new Rasi(0,0,-3,36)),
            new MandaChandraItem(new Rasi(0,6,17,54), new Rasi(0,0,-5,6)),
            new MandaChandraItem(new Rasi(0,6,18,12), new Rasi(0,0,-6,36)),
            new MandaChandraItem(new Rasi(0,6,18,24), new Rasi(0,0,-8,6)),
            new MandaChandraItem(new Rasi(0,6,18,30), new Rasi(0,0,-9,30)),
            new MandaChandraItem(new Rasi(0,6,18,24), new Rasi(0,0,-11,0)),
            new MandaChandraItem(new Rasi(0,6,18,18), new Rasi(0,0,-12,24)),
            new MandaChandraItem(new Rasi(0,6,18,0), new Rasi(0,0,-13,54)),
            new MandaChandraItem(new Rasi(0,6,17,36), new Rasi(0,0,-15,18)), //270
            new MandaChandraItem(new Rasi(0,6,17,6), new Rasi(0,0,-16,42)), //271
            new MandaChandraItem(new Rasi(0,6,16,24), new Rasi(0,0,-18,6)),
            new MandaChandraItem(new Rasi(0,6,15,42), new Rasi(0,0,-19,30)),
            new MandaChandraItem(new Rasi(0,6,14,54), new Rasi(0,0,-20,54)),
            new MandaChandraItem(new Rasi(0,6,13,54), new Rasi(0,0,-22,18)),
            new MandaChandraItem(new Rasi(0,6,12,54), new Rasi(0,0,-23,42)),
            new MandaChandraItem(new Rasi(0,6,11,42), new Rasi(0,0,-25,6)),
            new MandaChandraItem(new Rasi(0,6,10,24), new Rasi(0,0,-26,24)),
            new MandaChandraItem(new Rasi(0,6,9,0), new Rasi(0,0,-27,48)),
            new MandaChandraItem(new Rasi(0,6,7,30), new Rasi(0,0,-29,6)),  //280
            new MandaChandraItem(new Rasi(0,6,5,54), new Rasi(0,0,-30,24)), //281
            new MandaChandraItem(new Rasi(0,6,4,12), new Rasi(0,0,-31,42)),
            new MandaChandraItem(new Rasi(0,6,2,24), new Rasi(0,0,-32,54)),
            new MandaChandraItem(new Rasi(0,6,0,30), new Rasi(0,0,-34,12)),
            new MandaChandraItem(new Rasi(0,5,58,24), new Rasi(0,0,-35,24)),
            new MandaChandraItem(new Rasi(0,5,56,18), new Rasi(0,0,-36,42)),
            new MandaChandraItem(new Rasi(0,5,54,6), new Rasi(0,0,-37,54)),
            new MandaChandraItem(new Rasi(0,5,51,48), new Rasi(0,0,-39,12)),
            new MandaChandraItem(new Rasi(0,5,49,18), new Rasi(0,0,-40,24)),
            new MandaChandraItem(new Rasi(0,5,46,48), new Rasi(0,0,-41,36)), //290
            new MandaChandraItem(new Rasi(0,5,44,12), new Rasi(0,0,-42,48)), //291
            new MandaChandraItem(new Rasi(0,5,41,30), new Rasi(0,0,-43,54)),
            new MandaChandraItem(new Rasi(0,5,38,36), new Rasi(0,0,-45,6)),
            new MandaChandraItem(new Rasi(0,5,35,42), new Rasi(0,0,-46,12)),
            new MandaChandraItem(new Rasi(0,5,32,42), new Rasi(0,0,-47,24)),
            new MandaChandraItem(new Rasi(0,5,29,36), new Rasi(0,0,-48,30)),
            new MandaChandraItem(new Rasi(0,5,26,24), new Rasi(0,0,-49,36)),
            new MandaChandraItem(new Rasi(0,5,23,12), new Rasi(0,0,-50,36)),
            new MandaChandraItem(new Rasi(0,5,19,48), new Rasi(0,0,-51,36)),
            new MandaChandraItem(new Rasi(0,5,16,24), new Rasi(0,0,-52,36)), //300
            new MandaChandraItem(new Rasi(0,5,12,48), new Rasi(0,0,-53,36)), //301
            new MandaChandraItem(new Rasi(0,5,9,12), new Rasi(0,0,-54,36)),
            new MandaChandraItem(new Rasi(0,5,5,30), new Rasi(0,0,-55,36)),
            new MandaChandraItem(new Rasi(0,5,1,42), new Rasi(0,0,-56,30)),
            new MandaChandraItem(new Rasi(0,4,57,48), new Rasi(0,0,-57,24)),
            new MandaChandraItem(new Rasi(0,4,53,54), new Rasi(0,0,-58,18)),
            new MandaChandraItem(new Rasi(0,4,49,48), new Rasi(0,0,-59,12)),
            new MandaChandraItem(new Rasi(0,4,45,42), new Rasi(0,0,-60,6)),
            new MandaChandraItem(new Rasi(0,4,41,36), new Rasi(0,0,-61,0)),
            new MandaChandraItem(new Rasi(0,4,37,18), new Rasi(0,0,-61,54)), //310
            new MandaChandraItem(new Rasi(0,4,33,0), new Rasi(0,0,-62,42)), //311
            new MandaChandraItem(new Rasi(0,4,28,36), new Rasi(0,0,-63,30)),
            new MandaChandraItem(new Rasi(0,4,24,6), new Rasi(0,0,-64,18)),
            new MandaChandraItem(new Rasi(0,4,19,30), new Rasi(0,0,-65,6)),
            new MandaChandraItem(new Rasi(0,4,14,54), new Rasi(0,0,-66,0)),
            new MandaChandraItem(new Rasi(0,4,10,12), new Rasi(0,0,-66,48)),
            new MandaChandraItem(new Rasi(0,4,5,30), new Rasi(0,0,-67,30)),
            new MandaChandraItem(new Rasi(0,4,0,42), new Rasi(0,0,-68,12)),
            new MandaChandraItem(new Rasi(0,3,55,48), new Rasi(0,0,-68,54)),
            new MandaChandraItem(new Rasi(0,3,50,54), new Rasi(0,0,-69,30)), //320
            new MandaChandraItem(new Rasi(0,3,45,54), new Rasi(0,0,-70,6)), //321
            new MandaChandraItem(new Rasi(0,3,40,48), new Rasi(0,0,-70,42)),
            new MandaChandraItem(new Rasi(0,3,35,42), new Rasi(0,0,-71,18)),
            new MandaChandraItem(new Rasi(0,3,30,36), new Rasi(0,0,-71,54)),
            new MandaChandraItem(new Rasi(0,3,25,18), new Rasi(0,0,-72,24)),
            new MandaChandraItem(new Rasi(0,3,20,6), new Rasi(0,0,-73,0)),
            new MandaChandraItem(new Rasi(0,3,14,48), new Rasi(0,0,-73,30)),
            new MandaChandraItem(new Rasi(0,3,9,24), new Rasi(0,0,-74,0)),
            new MandaChandraItem(new Rasi(0,3,4,0), new Rasi(0,0,-74,36)),
            new MandaChandraItem(new Rasi(0,2,58,30), new Rasi(0,0,-75,6)), //330
            new MandaChandraItem(new Rasi(0,2,53,0), new Rasi(0,0,-75,30)), 
            new MandaChandraItem(new Rasi(0,2,47,24), new Rasi(0,0,-76,0)),
            new MandaChandraItem(new Rasi(0,2,41,48), new Rasi(0,0,-76,24)),
            new MandaChandraItem(new Rasi(0,2,36,12), new Rasi(0,0,-76,42)),
            new MandaChandraItem(new Rasi(0,2,30,30), new Rasi(0,0,-77,6)),
            new MandaChandraItem(new Rasi(0,2,24,48), new Rasi(0,0,-77,30)),
            new MandaChandraItem(new Rasi(0,2,19,0), new Rasi(0,0,-77,54)),
            new MandaChandraItem(new Rasi(0,2,13,12), new Rasi(0,0,-78,12)),
            new MandaChandraItem(new Rasi(0,2,7,24), new Rasi(0,0,-78,30)),
            new MandaChandraItem(new Rasi(0,2,1,30), new Rasi(0,0,-78,42)), //340
            new MandaChandraItem(new Rasi(0,1,55,36), new Rasi(0,0,-79,0)), 
            new MandaChandraItem(new Rasi(0,1,49,42), new Rasi(0,0,-79,12)),
            new MandaChandraItem(new Rasi(0,1,43,48), new Rasi(0,0,-79,24)),
            new MandaChandraItem(new Rasi(0,1,37,48), new Rasi(0,0,-79,36)),
            new MandaChandraItem(new Rasi(0,1,31,48), new Rasi(0,0,-79,48)),
            new MandaChandraItem(new Rasi(0,1,25,48), new Rasi(0,0,-80,0)),
            new MandaChandraItem(new Rasi(0,1,19,48), new Rasi(0,0,-80,6)),
            new MandaChandraItem(new Rasi(0,1,13,42), new Rasi(0,0,-80,12)),
            new MandaChandraItem(new Rasi(0,1,7,36), new Rasi(0,0,-80,18)),
            new MandaChandraItem(new Rasi(0,1,1,24), new Rasi(0,0,-80,18)),  //350
            new MandaChandraItem(new Rasi(0,0,55,24), new Rasi(0,0,-80,18)), 
            new MandaChandraItem(new Rasi(0,0,49,18), new Rasi(0,0,-80,18)),
            new MandaChandraItem(new Rasi(0,0,43,12), new Rasi(0,0,-80,24)),
            new MandaChandraItem(new Rasi(0,0,37,0), new Rasi(0,0,-80,24)),
            new MandaChandraItem(new Rasi(0,0,30,54), new Rasi(0,0,-80,24)),
            new MandaChandraItem(new Rasi(0,0,24,42), new Rasi(0,0,-80,24)),
            new MandaChandraItem(new Rasi(0,0,18,30), new Rasi(0,0,-80,18)),
            new MandaChandraItem(new Rasi(0,0,12,24), new Rasi(0,0,-80,18)),
            new MandaChandraItem(new Rasi(0,0,6,12), new Rasi(0,0,-80,18)),
            new MandaChandraItem(new Rasi(0,0,0,0), new Rasi(0,0,-80,12)) //360
        }; 
	#endregion

        #region Chandra 7 Kostakamu
		public static Rasi[] Chandra7Kostakam = new Rasi[]{
            new Rasi(0,0,0,0), //0
            new Rasi(0,0,0.2,0),
            new Rasi(0,0,0.4,0),
            new Rasi(0,0,0.6,0),
            new Rasi(0,0,0.8,0),
            new Rasi(0,0,0.9,0),
            new Rasi(0,0,1.1,0),
            new Rasi(0,0,1.3,0),
            new Rasi(0,0,1.5,0),
            new Rasi(0,0,1.7,0), 
            new Rasi(0,0,1.9,0), //10
            new Rasi(0,0,2.1,0),
            new Rasi(0,0,2.3,0),
            new Rasi(0,0,2.5,0),
            new Rasi(0,0,2.6,0),
            new Rasi(0,0,2.8,0),
            new Rasi(0,0,3.0,0),
            new Rasi(0,0,3.2,0),
            new Rasi(0,0,3.4,0),
            new Rasi(0,0,3.6,0),
            new Rasi(0,0,3.7,0),//20
            new Rasi(0,0,3.9,0),
            new Rasi(0,0,4.1,0),
            new Rasi(0,0,4.3,0),
            new Rasi(0,0,4.5,0),
            new Rasi(0,0,4.6,0),
            new Rasi(0,0,4.8,0),
            new Rasi(0,0,5.0,0),
            new Rasi(0,0,5.2,0),
            new Rasi(0,0,5.3,0),
            new Rasi(0,0,5.5,0),//30
            new Rasi(0,0,5.7,0),
            new Rasi(0,0,5.8,0),
            new Rasi(0,0,6.0,0),
            new Rasi(0,0,6.2,0),
            new Rasi(0,0,6.3,0),
            new Rasi(0,0,6.5,0),
            new Rasi(0,0,6.6,0),
            new Rasi(0,0,6.8,0),
            new Rasi(0,0,6.9,0),
            new Rasi(0,0,7.1,0),//40
            new Rasi(0,0,7.2,0),
            new Rasi(0,0,7.4,0),
            new Rasi(0,0,7.5,0),
            new Rasi(0,0,7.7,0),
            new Rasi(0,0,7.8,0),
            new Rasi(0,0,7.9,0),
            new Rasi(0,0,8.1,0),
            new Rasi(0,0,8.2,0),
            new Rasi(0,0,8.4,0),
            new Rasi(0,0,8.5,0),//50
            new Rasi(0,0,8.6,0),
            new Rasi(0,0,8.7,0),
            new Rasi(0,0,8.8,0),
            new Rasi(0,0,8.9,0),
            new Rasi(0,0,9.1,0),
            new Rasi(0,0,9.2,0),
            new Rasi(0,0,9.3,0),
            new Rasi(0,0,9.4,0),
            new Rasi(0,0,9.5,0),
            new Rasi(0,0,9.6,0),//60
            new Rasi(0,0,9.7,0),
            new Rasi(0,0,9.8,0),
            new Rasi(0,0,9.9,0),
            new Rasi(0,0,10,0),
            new Rasi(0,0,10.1,0),
            new Rasi(0,0,10.1,0),
            new Rasi(0,0,10.2,0),
            new Rasi(0,0,10.3,0),
            new Rasi(0,0,10.4,0),
            new Rasi(0,0,10.5,0),//70
            new Rasi(0,0,10.5,0),
            new Rasi(0,0,10.6,0),
            new Rasi(0,0,10.6,0),
            new Rasi(0,0,10.7,0),
            new Rasi(0,0,10.8,0),
            new Rasi(0,0,10.8,0),
            new Rasi(0,0,10.9,0),
            new Rasi(0,0,10.9,0),
            new Rasi(0,0,11,0),
            new Rasi(0,0,11,0),//80
            new Rasi(0,0,11,0),
            new Rasi(0,0,11,0),
            new Rasi(0,0,11.1,0),
            new Rasi(0,0,11.1,0),
            new Rasi(0,0,11.1,0),
            new Rasi(0,0,11.2,0),
            new Rasi(0,0,11.2,0),
            new Rasi(0,0,11.2,0),
            new Rasi(0,0,11.2,0),
            new Rasi(0,0,11.2,0),//90
            new Rasi(0,0,11.2,0),
            new Rasi(0,0,11.2,0),
            new Rasi(0,0,11.2,0),
            new Rasi(0,0,11.2,0),
            new Rasi(0,0,11.2,0),
            new Rasi(0,0,11.1,0),
            new Rasi(0,0,11.1,0),
            new Rasi(0,0,11.1,0),
            new Rasi(0,0,11.1,0),
            new Rasi(0,0,11.1,0),//100
            new Rasi(0,0,11,0),
            new Rasi(0,0,11,0),
            new Rasi(0,0,11,0),
            new Rasi(0,0,10.9,0),
            new Rasi(0,0,10.9,0),
            new Rasi(0,0,10.8,0),
            new Rasi(0,0,10.8,0),
            new Rasi(0,0,10.7,0),
            new Rasi(0,0,10.6,0),
            new Rasi(0,0,10.6,0),//110
            new Rasi(0,0,10.5,0),
            new Rasi(0,0,10.5,0),
            new Rasi(0,0,10.4,0),
            new Rasi(0,0,10.3,0),
            new Rasi(0,0,10.2,0),
            new Rasi(0,0,10.1,0),
            new Rasi(0,0,10.1,0),
            new Rasi(0,0,10,0),
            new Rasi(0,0,9.9,0),
            new Rasi(0,0,9.8,0),//120
            new Rasi(0,0,9.7,0),
            new Rasi(0,0,9.6,0),
            new Rasi(0,0,9.5,0),
            new Rasi(0,0,9.4,0),
            new Rasi(0,0,9.3,0),
            new Rasi(0,0,9.1,0),
            new Rasi(0,0,9.0,0),
            new Rasi(0,0,8.9,0),
            new Rasi(0,0,8.8,0),
            new Rasi(0,0,8.7,0),//130
            new Rasi(0,0,8.6,0),
            new Rasi(0,0,8.4,0),
            new Rasi(0,0,8.3,0),
            new Rasi(0,0,8.1,0),
            new Rasi(0,0,8,0),
            new Rasi(0,0,7.9,0),
            new Rasi(0,0,7.7,0),
            new Rasi(0,0,7.6,0),
            new Rasi(0,0,7.4,0),
            new Rasi(0,0,7.3,0),//140
            new Rasi(0,0,7.1,0),
            new Rasi(0,0,7,0),
            new Rasi(0,0,6.8,0),
            new Rasi(0,0,6.7,0),
            new Rasi(0,0,6.5,0),
            new Rasi(0,0,6.4,0),
            new Rasi(0,0,6.2,0),
            new Rasi(0,0,6,0),
            new Rasi(0,0,5.9,0),
            new Rasi(0,0,5.7,0),//150
            new Rasi(0,0,5.5,0),
            new Rasi(0,0,5.3,0),
            new Rasi(0,0,5.1,0),
            new Rasi(0,0,5.0,0),
            new Rasi(0,0,4.8,0),
            new Rasi(0,0,4.6,0),
            new Rasi(0,0,4.4,0),
            new Rasi(0,0,4.3,0),
            new Rasi(0,0,4.1,0),
            new Rasi(0,0,3.9,0),//160
            new Rasi(0,0,3.7,0),
            new Rasi(0,0,3.5,0),
            new Rasi(0,0,3.3,0),
            new Rasi(0,0,3.1,0),
            new Rasi(0,0,2.9,0),
            new Rasi(0,0,2.8,0),
            new Rasi(0,0,2.6,0),
            new Rasi(0,0,2.4,0),
            new Rasi(0,0,2.2,0),
            new Rasi(0,0,2,0),//170
            new Rasi(0,0,1.8,0),
            new Rasi(0,0,1.6,0),
            new Rasi(0,0,1.4,0),
            new Rasi(0,0,1.2,0),
            new Rasi(0,0,1.0,0),
            new Rasi(0,0,0.8,0),
            new Rasi(0,0,0.6,0),
            new Rasi(0,0,0.4,0),
            new Rasi(0,0,0.2,0),
            new Rasi(0,0,0,0)//180
        }; 
	#endregion

        #region Ravi Kranti Padakamu
		        public static Rasi[] RaviKrantiPadakam = new Rasi[]{
            new Rasi(0,0,0,0),
            new Rasi(0,0,23.9),
            new Rasi(0,0,47.9),
            new Rasi(0,1,11.7),
            new Rasi(0,1,35.5),
            new Rasi(0,1,59.3),
            new Rasi(0,2,23.1),
            new Rasi(0,2,46.8),
            new Rasi(0,3,10.6),
            new Rasi(0,3,34.3),
            new Rasi(0,3,57.8), //10
            new Rasi(0,4,21.4),
            new Rasi(0,4,44.8),
            new Rasi(0,5,8.2),
            new Rasi(0,5,31.5),
            new Rasi(0,5,54.8),
            new Rasi(0,6,18.0),
            new Rasi(0,6,40.9),
            new Rasi(0,7,3.9),
            new Rasi(0,7,26.7),
            new Rasi(0,7,49.5), //20
            new Rasi(0,8,12.0),
            new Rasi(0,8,34.4),
            new Rasi(0,8,56.8),
            new Rasi(0,9,18.9),
            new Rasi(0,9,41.0),
            new Rasi(0,10,2.9),
            new Rasi(0,10,24.6),
            new Rasi(0,10,45.9),
            new Rasi(0,11,7.8),
            new Rasi(0,11,28.8),//30
            new Rasi(0,11,49.8),
            new Rasi(0,12,10.6),
            new Rasi(0,12,31.2),
            new Rasi(0,12,51.7),
            new Rasi(0,13,11.8),
            new Rasi(0,13,31.8),
            new Rasi(0,13,51.5),
            new Rasi(0,14,11),
            new Rasi(0,14,30.3),
            new Rasi(0,14,49.4), //40
            new Rasi(0,15,8.2),
            new Rasi(0,15,26.7),
            new Rasi(0,15,45),
            new Rasi(0,16,3.1),
            new Rasi(0,16,21),
            new Rasi(0,16,38.5),
            new Rasi(0,16,55.6),
            new Rasi(0,17,12.4),
            new Rasi(0,17,29.0),
            new Rasi(0,17,45.2), //50
            new Rasi(0,18,1.2),
            new Rasi(0,18,16.8),
            new Rasi(0,18,32.1),
            new Rasi(0,18,47.2),
            new Rasi(0,19,1.8),
            new Rasi(0,19,16.2),
            new Rasi(0,19,30.8),
            new Rasi(0,19,43.7),
            new Rasi(0,19,56.9),
            new Rasi(0,20,9.8), //60
            new Rasi(0,20,22.3),
            new Rasi(0,20,34.5),
            new Rasi(0,20,46.3),
            new Rasi(0,20,57.7),
            new Rasi(0,21,8.7),
            new Rasi(0,21,19.3),
            new Rasi(0,21,29.6),
            new Rasi(0,21,39.4),
            new Rasi(0,21,48.9),
            new Rasi(0,21,58.0), //70
            new Rasi(0,22,6.6),
            new Rasi(0,22,14.8),
            new Rasi(0,22,22.5),
            new Rasi(0,22,29.8),
            new Rasi(0,22,36.6),
            new Rasi(0,22,43.0),
            new Rasi(0,22,49.0),
            new Rasi(0,22,54.7),
            new Rasi(0,22,59.9),
            new Rasi(0,23,4.7), //80
            new Rasi(0,23,9.0),
            new Rasi(0,23,12.8),
            new Rasi(0,23,16.1),
            new Rasi(0,23,19.1),
            new Rasi(0,23,21.6),
            new Rasi(0,23,23.6),
            new Rasi(0,23,25.2),
            new Rasi(0,23,26.4),
            new Rasi(0,23,27.1),
            new Rasi(0,23,27.3), //90
            new Rasi(0,23,27.1),
            new Rasi(0,23,26.4),
            new Rasi(0,23,25.2),
            new Rasi(0,23,23.6),
            new Rasi(0,23,21.6),
            new Rasi(0,23,19.1),
            new Rasi(0,23,16.1),
            new Rasi(0,23,12.8),
            new Rasi(0,23,9.0),
            new Rasi(0,23,4.7), //100
            new Rasi(0,22,59.9),
            new Rasi(0,22,54.7),
            new Rasi(0,22,49.0),
            new Rasi(0,22,43.0),
            new Rasi(0,22,36.6),
            new Rasi(0,22,29.8),
            new Rasi(0,22,22.5),
            new Rasi(0,22,14.8),
            new Rasi(0,22,6.6),
            new Rasi(0,21,58.0), //110
            new Rasi(0,21,48.9),
            new Rasi(0,21,39.4),
            new Rasi(0,21,29.6),
            new Rasi(0,21,19.4),
            new Rasi(0,21,8.7),
            new Rasi(0,20,57.7),
            new Rasi(0,20,46.3),
            new Rasi(0,20,34.5),
            new Rasi(0,20,22.3),
            new Rasi(0,20,9.8), //120
            new Rasi(0,19,56.9),
            new Rasi(0,19,43.7),
            new Rasi(0,19,30.0),
            new Rasi(0,19,16.2),
            new Rasi(0,19,1.8),
            new Rasi(0,18,47.2),
            new Rasi(0,18,32.1),
            new Rasi(0,18,16.8),
            new Rasi(0,18,1.2),
            new Rasi(0,17,45.2), //130
            new Rasi(0,17,29.0),
            new Rasi(0,17,12.4),
            new Rasi(0,16,55.6),
            new Rasi(0,16,38.5),
            new Rasi(0,16,21.0),
            new Rasi(0,16,3.1),
            new Rasi(0,15,45.0),
            new Rasi(0,15,26.7),
            new Rasi(0,15,8.2),
            new Rasi(0,14,49.4), //140
            new Rasi(0,14,30.3),
            new Rasi(0,14,11.0),
            new Rasi(0,13,51.5),
            new Rasi(0,13,31.8),
            new Rasi(0,13,11.8),
            new Rasi(0,12,51.7),
            new Rasi(0,12,31.2),
            new Rasi(0,12,10.6),
            new Rasi(0,11,49.8),
            new Rasi(0,11,28.8), //150
            new Rasi(0,11,7.8),
            new Rasi(0,10,45.9),
            new Rasi(0,10,24.6),
            new Rasi(0,10,2.9),
            new Rasi(0,9,41.0),
            new Rasi(0,9,18.9),
            new Rasi(0,8,56.8),
            new Rasi(0,8,34.4),
            new Rasi(0,8,12.0),
            new Rasi(0,7,49.5), //160
            new Rasi(0,7,26.7),
            new Rasi(0,7,3.9),
            new Rasi(0,6,40.9),
            new Rasi(0,6,18.0),
            new Rasi(0,5,54.8),
            new Rasi(0,5,31.5),
            new Rasi(0,5,8.2),
            new Rasi(0,4,44.8),
            new Rasi(0,4,21.4),
            new Rasi(0,3,57.8), //170
            new Rasi(0,3,34.3),
            new Rasi(0,3,10.6),
            new Rasi(0,2,46.8),
            new Rasi(0,2,23.1),
            new Rasi(0,1,59.3),
            new Rasi(0,1,35.5),
            new Rasi(0,1,11.7),
            new Rasi(0,0,47.9),
            new Rasi(0,0,23.9),
            new Rasi(0,0,0)//180
        }; 
	#endregion

        #region 17 Akshamsamu
		public static double[] Akshamsa17Values = new double[]{
            0, 
            3,
            6,
            9,
            12,
            15,
            18,
            21,
            25,
            28,
            31,
            34,
            38,
            41,
            44,
            47,
            50,
            53,
            57,
            60,
            64,
            68,
            71,
            75,
            78,
            82,
            85,
            89,
            94,
            98,
            102,
            106  };
 
	#endregion

        #region Varjyamu
        public static double[][] Varjyamu = {
            new double[] {0.833333},  //Aswani
            new double[] {0.4},  //Bharani
            new double[] {0.5},  //Kruttika
            new double[] {0.666666},  //Rohini
            new double[] {0.233333}, //Mrugaseersha
            new double[] {0.35}, //Arudra
            new double[] {0.5},  //Punarvasu
            new double[] {0.333333},  //Pushyami
            new double[] {0.533333}, //Aashresha
            new double[] {0.5},  //Makha
            new double[] {0.333333},  //Pubba
            new double[] {0.3},  //Uttara
            new double[] {0.35},  //Hasta
            new double[] {0.333333},  //Chitra
            new double[] {0.233333},  //Swati
            new double[] {0.233333},  //Visakha
            new double[] {0.166666},  //Anuradha
            new double[] {0.233333},  //Jyeshtha
            new double[] {0.333333, 0.933333},  //Mula
            new double[] {0.4},  //Purvaashadha
            new double[] {0.333333},  //Uttaraashadha
            new double[] {0.166666},  //Sravanam
            new double[] {0.166666},   //Dhanishta
            new double[] {0.3},   //Satatara
            new double[] {0.266666},   //Purvabhadra
            new double[] {0.4},   //Uttarabhadra
            new double[] {0.5},   //Revati
        };
        #endregion

        #region Amruta Ghadiyalu
        public static double[] AmrutaGhadiyalu = new double[]{
            0.7,  //Aswani
            0.8,  //Bharani
            0.9,  //Kruttika
            0.866666,  //Rohini
            0.633333, //Mrugaseersha
            0.583333, //Arudra
            0.9,  //Punarvasu
            0.733333,  //Pushyami
            0.933333, //Aashresha
            0.9,  //Makha
            0.733333,  //Pubba
            0.7,  //Uttara
            0.75,  //Hasta
            0.733333,  //Chitra
            0.633333,  //Swati
            0.633333,  //Visakha
            0.566666,  //Anuradha
            0.633333,  //Jyeshtha
            0.733333,  //Mula
            0.8,  //Purvaashadha
            0.733333,  //Uttaraashadha
            0.566666,  //Sravanam
            0.566666,   //Dhanishta
            0.7,   //Satatara
            0.666666,   //Purvabhadra
            0.8,   //Uttarabhadra
            0.9,   //Revati
        };

#endregion

        #region Bhukti Pramanamulu
        public static Rasi[] BhuktiPramanamulu = new Rasi[]
        {
            new Rasi(0,0,4,20),         //Meshamu
            new Rasi(0,0,4,56),         //Vrushbhamu
            new Rasi(0,0,5,26),            //Mithunamu
            new Rasi(0,0,5,31),            //Karkatakamu
            new Rasi(0,0,5,20),            //Simhamu
            new Rasi(0,0,5,15),            //Kanya
            new Rasi(0,0,5,24),            //Tula
            new Rasi(0,0,5,33),            //Vruschikamu
            new Rasi(0,0,5,19),            //Dhanassu
            new Rasi(0,0,4,43),            //Makaramu
            new Rasi(0,0,4,11),            //Kumbhamu
            new Rasi(0,0,4,2)            //Meenamu
        };
        #endregion

        static Constants()
        {
            DateTime startdate = new DateTime(2000, 1, 1);
            int i = 1;
            TimeConstForRjy.Add(startdate, 4); //Jan 1
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Jan 2
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Jan 3
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Jan 4
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jan 5
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jan 6
            TimeConstForRjy.Add(startdate.AddDays(i++), 7);//Jan 7
            TimeConstForRjy.Add(startdate.AddDays(i++), 7);//Jan 8
            TimeConstForRjy.Add(startdate.AddDays(i++), 7);//Jan 9
            TimeConstForRjy.Add(startdate.AddDays(i++), 8);//Jan 10
            TimeConstForRjy.Add(startdate.AddDays(i++), 8);//Jan 11
            TimeConstForRjy.Add(startdate.AddDays(i++), 8);//Jan 12
            TimeConstForRjy.Add(startdate.AddDays(i++), 9);//Jan 13
            TimeConstForRjy.Add(startdate.AddDays(i++), 9);//Jan 14
            TimeConstForRjy.Add(startdate.AddDays(i++), 10);//Jan 15
            TimeConstForRjy.Add(startdate.AddDays(i++), 10);//Jan 16
            TimeConstForRjy.Add(startdate.AddDays(i++), 10);//Jan 17
            TimeConstForRjy.Add(startdate.AddDays(i++), 11);//Jan 18
            TimeConstForRjy.Add(startdate.AddDays(i++), 11);//Jan 19
            TimeConstForRjy.Add(startdate.AddDays(i++), 11);//Jan 20
            TimeConstForRjy.Add(startdate.AddDays(i++), 12);//Jan 21
            TimeConstForRjy.Add(startdate.AddDays(i++), 12);//Jan 22
            TimeConstForRjy.Add(startdate.AddDays(i++), 12);//Jan 23
            TimeConstForRjy.Add(startdate.AddDays(i++), 12);//Jan 24
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Jan 25
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Jan 26
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Jan 27
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Jan 28
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Jan 29
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Jan 30
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Jan 31
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 1
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 2
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 3
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 4
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 5
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 6
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 7
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 8
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 9
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 10
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 11
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 12
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 13
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 14
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 15
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 16
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 17
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 18
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 19
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 20
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 21
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 22
            TimeConstForRjy.Add(startdate.AddDays(i++), 14);//Feb 23
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Feb 24
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Feb 25
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Feb 26
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Feb 27
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Feb 28
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Feb 29
            TimeConstForRjy.Add(startdate.AddDays(i++), 13);//Mar 1
            TimeConstForRjy.Add(startdate.AddDays(i++), 12);//Mar 2
            TimeConstForRjy.Add(startdate.AddDays(i++), 12);//Mar 3
            TimeConstForRjy.Add(startdate.AddDays(i++), 12);//Mar 4
            TimeConstForRjy.Add(startdate.AddDays(i++), 12);//Mar 5
            TimeConstForRjy.Add(startdate.AddDays(i++), 11);//Mar 6
            TimeConstForRjy.Add(startdate.AddDays(i++), 11);//Mar 7
            TimeConstForRjy.Add(startdate.AddDays(i++), 11);//Mar 8
            TimeConstForRjy.Add(startdate.AddDays(i++), 11);//Mar 9
            TimeConstForRjy.Add(startdate.AddDays(i++), 10);//Mar 10
            TimeConstForRjy.Add(startdate.AddDays(i++), 10);//Mar 11
            TimeConstForRjy.Add(startdate.AddDays(i++), 10);//Mar 12
            TimeConstForRjy.Add(startdate.AddDays(i++), 10);//Mar 13
            TimeConstForRjy.Add(startdate.AddDays(i++), 9);//Mar 14
            TimeConstForRjy.Add(startdate.AddDays(i++), 9);//Mar 15
            TimeConstForRjy.Add(startdate.AddDays(i++), 9);//Mar 16
            TimeConstForRjy.Add(startdate.AddDays(i++), 9);//Mar 17
            TimeConstForRjy.Add(startdate.AddDays(i++), 8);//Mar 18
            TimeConstForRjy.Add(startdate.AddDays(i++), 8);//Mar 19
            TimeConstForRjy.Add(startdate.AddDays(i++), 8);//Mar 20
            TimeConstForRjy.Add(startdate.AddDays(i++), 7);//Mar 21
            TimeConstForRjy.Add(startdate.AddDays(i++), 7);//Mar 22
            TimeConstForRjy.Add(startdate.AddDays(i++), 7);//Mar 23
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Mar 24
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Mar 25
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Mar 26
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Mar 27
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Mar 28
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Mar 29
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Mar 30
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Mar 31
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Apr 1
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Apr 2
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Apr 3
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Apr 4
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Apr 5
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Apr 6
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Apr 7
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Apr 8
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Apr 9
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Apr 10
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Apr 11
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Apr 12
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Apr 13
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Apr 14
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Apr 15
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Apr 16
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Apr 17
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Apr 18
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Apr 19
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Apr 20
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Apr 21
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Apr 22
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Apr 23
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Apr 24
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Apr 25
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Apr 26
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Apr 27
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//Apr 28
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//Apr 29
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//Apr 30
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 1
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 2
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 3
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 4
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 5
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 6
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 7
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 8
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 9
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 10
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 11
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 12
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 13
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 14
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 15
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 16
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 17
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 18
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 19
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 20
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 21
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 22
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//May 23
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 24
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 25
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 26
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 27
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 28
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 29
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 30
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//May 31
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//Jun 1
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Jun 2
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Jun 3
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Jun 4
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Jun 5
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Jun 6
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Jun 7
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Jun 8
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Jun 9
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Jun 10
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Jun 11
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Jun 12
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Jun 13
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Jun 14
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Jun 15
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Jun 16
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Jun 17
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Jun 18
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Jun 19
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Jun 20
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Jun 21
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Jun 22
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Jun 23
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Jun 24
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Jun 25
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Jun 26
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Jun 27
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Jun 28
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Jun 29
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Jun 30
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Jul 1
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Jul 2
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Jul 3
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Jul 4
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Jul 5
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Jul 6
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Jul 7
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Jul 8
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Jul 9
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Jul 10
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Jul 11
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Jul 12
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Jul 13
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Jul 14
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 15
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 16
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 17
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 18
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 19
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 20
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 21
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 22
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 23
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 24
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 25
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 26
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 27
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 28
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 29
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 30
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Jul 31
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Aug 1
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Aug 2
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Aug 3
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Aug 4
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Aug 5
            TimeConstForRjy.Add(startdate.AddDays(i++), 6);//Aug 6
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Aug 7
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Aug 8
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Aug 9
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Aug 10
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Aug 11
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Aug 12
            TimeConstForRjy.Add(startdate.AddDays(i++), 5);//Aug 13
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Aug 14
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Aug 15
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Aug 16
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Aug 17
            TimeConstForRjy.Add(startdate.AddDays(i++), 4);//Aug 18
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Aug 19
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Aug 20
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Aug 21
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Aug 22
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Aug 23
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Aug 24
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Aug 25
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Aug 26
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Aug 27
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Aug 28
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Aug 29
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Aug 30
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Aug 31
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Sep 1
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Sep 2
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Sep 3
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Sep 4
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Sep 5
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Sep 6
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Sep 7
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Sep 8
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//Sep 9
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//Sep 10
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//Sep 11
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//Sep 12
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//Sep 13
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//Sep 14
            TimeConstForRjy.Add(startdate.AddDays(i++), -5);//Sep 15
            TimeConstForRjy.Add(startdate.AddDays(i++), -5);//Sep 16
            TimeConstForRjy.Add(startdate.AddDays(i++), -5);//Sep 17
            TimeConstForRjy.Add(startdate.AddDays(i++), -6);//Sep 18
            TimeConstForRjy.Add(startdate.AddDays(i++), -6);//Sep 19
            TimeConstForRjy.Add(startdate.AddDays(i++), -7);//Sep 20
            TimeConstForRjy.Add(startdate.AddDays(i++), -7);//Sep 21
            TimeConstForRjy.Add(startdate.AddDays(i++), -7);//Sep 22
            TimeConstForRjy.Add(startdate.AddDays(i++), -8);//Sep 23
            TimeConstForRjy.Add(startdate.AddDays(i++), -8);//Sep 24
            TimeConstForRjy.Add(startdate.AddDays(i++), -8);//Sep 25
            TimeConstForRjy.Add(startdate.AddDays(i++), -9);//Sep 26
            TimeConstForRjy.Add(startdate.AddDays(i++), -9);//Sep 27
            TimeConstForRjy.Add(startdate.AddDays(i++), -9);//Sep 28
            TimeConstForRjy.Add(startdate.AddDays(i++), -10);//Sep 29
            TimeConstForRjy.Add(startdate.AddDays(i++), -10);//Sep 30
            TimeConstForRjy.Add(startdate.AddDays(i++), -10);//Oct 1
            TimeConstForRjy.Add(startdate.AddDays(i++), -11);//Oct 2
            TimeConstForRjy.Add(startdate.AddDays(i++), -11);//Oct 3
            TimeConstForRjy.Add(startdate.AddDays(i++), -11);//Oct 4
            TimeConstForRjy.Add(startdate.AddDays(i++), -12);//Oct 5
            TimeConstForRjy.Add(startdate.AddDays(i++), -12);//Oct 6
            TimeConstForRjy.Add(startdate.AddDays(i++), -12);//Oct 7
            TimeConstForRjy.Add(startdate.AddDays(i++), -12);//Oct 8
            TimeConstForRjy.Add(startdate.AddDays(i++), -13);//Oct 9
            TimeConstForRjy.Add(startdate.AddDays(i++), -13);//Oct 10
            TimeConstForRjy.Add(startdate.AddDays(i++), -13);//Oct 11
            TimeConstForRjy.Add(startdate.AddDays(i++), -13);//Oct 12
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Oct 13
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Oct 14
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Oct 15
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Oct 16
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Oct 17
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Oct 18
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Oct 19
            TimeConstForRjy.Add(startdate.AddDays(i++), -15);//Oct 20
            TimeConstForRjy.Add(startdate.AddDays(i++), -15);//Oct 21
            TimeConstForRjy.Add(startdate.AddDays(i++), -15);//Oct 22
            TimeConstForRjy.Add(startdate.AddDays(i++), -15);//Oct 23
            TimeConstForRjy.Add(startdate.AddDays(i++), -15);//Oct 24
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Oct 25
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Oct 26
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Oct 27
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Oct 28
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Oct 29
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Oct 30
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Oct 31
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 1
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 2 
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 3
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 4
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 5
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 6
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 7
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 8
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 9
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 10
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 11
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 12
            TimeConstForRjy.Add(startdate.AddDays(i++), -16);//Nov 13
            TimeConstForRjy.Add(startdate.AddDays(i++), -15);//Nov 14
            TimeConstForRjy.Add(startdate.AddDays(i++), -15);//Nov 15
            TimeConstForRjy.Add(startdate.AddDays(i++), -15);//Nov 16
            TimeConstForRjy.Add(startdate.AddDays(i++), -15);//Nov 17
            TimeConstForRjy.Add(startdate.AddDays(i++), -15);//Nov 18
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Nov 19
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Nov 20
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Nov 21
            TimeConstForRjy.Add(startdate.AddDays(i++), -14);//Nov 22
            TimeConstForRjy.Add(startdate.AddDays(i++), -13);//Nov 23
            TimeConstForRjy.Add(startdate.AddDays(i++), -13);//Nov 24
            TimeConstForRjy.Add(startdate.AddDays(i++), -13);//Nov 25
            TimeConstForRjy.Add(startdate.AddDays(i++), -13);//Nov 26
            TimeConstForRjy.Add(startdate.AddDays(i++), -12);//Nov 27
            TimeConstForRjy.Add(startdate.AddDays(i++), -12);//Nov 28
            TimeConstForRjy.Add(startdate.AddDays(i++), -12);//Nov 29
            TimeConstForRjy.Add(startdate.AddDays(i++), -11);//Nov 30
            TimeConstForRjy.Add(startdate.AddDays(i++), -11);//Dec 1
            TimeConstForRjy.Add(startdate.AddDays(i++), -10);//Dec 2
            TimeConstForRjy.Add(startdate.AddDays(i++), -10);//Dec 3
            TimeConstForRjy.Add(startdate.AddDays(i++), -10);//Dec 4
            TimeConstForRjy.Add(startdate.AddDays(i++), -9);//Dec 5
            TimeConstForRjy.Add(startdate.AddDays(i++), -9);//Dec 6
            TimeConstForRjy.Add(startdate.AddDays(i++), -8);//Dec 7
            TimeConstForRjy.Add(startdate.AddDays(i++), -8);//Dec 8
            TimeConstForRjy.Add(startdate.AddDays(i++), -7);//Dec 9
            TimeConstForRjy.Add(startdate.AddDays(i++), -7);//Dec 10
            TimeConstForRjy.Add(startdate.AddDays(i++), -7);//Dec 11
            TimeConstForRjy.Add(startdate.AddDays(i++), -6);//Dec 12
            TimeConstForRjy.Add(startdate.AddDays(i++), -6);//Dec 13
            TimeConstForRjy.Add(startdate.AddDays(i++), -5);//Dec 14
            TimeConstForRjy.Add(startdate.AddDays(i++), -5);//Dec 15
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//Dec 16
            TimeConstForRjy.Add(startdate.AddDays(i++), -4);//Dec 17
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//Dec 18
            TimeConstForRjy.Add(startdate.AddDays(i++), -3);//Dec 19
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Dec 20
            TimeConstForRjy.Add(startdate.AddDays(i++), -2);//Dec 21
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Dec 22
            TimeConstForRjy.Add(startdate.AddDays(i++), -1);//Dec 23
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Dec 24
            TimeConstForRjy.Add(startdate.AddDays(i++), 0);//Dec 25
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Dec 26
            TimeConstForRjy.Add(startdate.AddDays(i++), 1);//Dec 27
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Dec 28
            TimeConstForRjy.Add(startdate.AddDays(i++), 2);//Dec 29
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Dec 30
            TimeConstForRjy.Add(startdate.AddDays(i++), 3);//Dec 31
        }
        
        public static Rasi GetChandra7KostakamValue(Rasi RaviKendram)
        {
            int iIndex = Convert.ToInt32(RaviKendram.Rasulu * 30 + RaviKendram.Bhagalu);
            int iNextIndex = iIndex + 1;
            if (iIndex > 180)
            {
                iIndex = 180 - (iIndex - 180);
                iNextIndex = iIndex - 1;
            }
            Rasi Diff =(Rasi) (Chandra7Kostakam[iNextIndex] - Chandra7Kostakam[iIndex])* new Rasi(0,0,RaviKendram.Liptalu, RaviKendram.Viliptalu);
            return (Rasi)(Chandra7Kostakam[iIndex] + Diff);
        }
        
        public static Rasi GetRaviKrantiValue(Rasi MadyamaRavi)
        {
            int iIndex = Convert.ToInt32(MadyamaRavi.Rasulu * 30 + MadyamaRavi.Bhagalu);
            if (iIndex < 0) { iIndex = 0; }
            int iNextIndex = iIndex + 1;
            if (iIndex >= 180)
            {
                iIndex = 180 - (iIndex - 180);
                iNextIndex = iIndex - 1;
            }
            Rasi Diff = (Rasi)(Rasi.Difference(RaviKrantiPadakam[iNextIndex],RaviKrantiPadakam[iIndex])) 
                * new Rasi(0, 0, MadyamaRavi.Liptalu, MadyamaRavi.Viliptalu);
            Rasi KrantiSamskaram = RaviKrantiPadakam[iIndex] + Diff;
            return KrantiSamskaram;
        }
        
        public static double GetTimeConstForDate(DateTime dtDate)
        {
            int DayPart = dtDate.Day;
            int MonthPart = dtDate.Month;
            return Convert.ToDouble(TimeConstForRjy[new DateTime(2000,MonthPart, DayPart)]);
            
        }

        public static string GetCurrentTidhi(Rasi TidhiValue)
        {
            string sSTidhi = string.Empty;
            Rasi iDiv = TidhiValue / Constants.TidhiPramanam;
            int iIndex = Convert.ToInt32(iDiv.Bhagalu);
            sSTidhi += Constants.SuddaTidhi[iIndex];
            return sSTidhi;
        }
        
        public static Rasi GetTidhiStartingRasi(Rasi TidhiValue)
        {
            Rasi iDiv = TidhiValue / Constants.TidhiPramanam;
            double dMultiplier = iDiv.Bhagalu;
            Rasi RetValue = Constants.TidhiPramanam * dMultiplier;
            return RetValue;
        }

        public static string GetTimePrefix(Rasi TimeValue)
        {
            //This value comes always after adding Suryodayamu. So values will never be less thatn 5-50.
            string retString = Enums.TimePrefix.U_Gam.ToString();
            if(TimeValue < new Rasi(0,0,5,50))
            {
                //Tella vari Ghantalu
                retString = Enums.TimePrefix.Te_Gam.ToString();
            }
            if (TimeValue < new Rasi(0, 0, 12, 0))
            {
                //Udayamu Ghantalu
                retString = Enums.TimePrefix.U_Gam.ToString();
            }
            else if (TimeValue < new Rasi(0, 0, 16, 0))
            {
                //Madyahnamu Ghantalu
                retString = Enums.TimePrefix.Ma_Gam.ToString();
            }
            else if (TimeValue < new Rasi(0, 0, 19, 0))
            {
                //Sayantramu Ghantalu
                retString = Enums.TimePrefix.Sa_Gam.ToString();
            }
            else if (TimeValue < new Rasi(0, 0, 27, 0))
            {
                //Ratri Ghantalu
                retString = Enums.TimePrefix.Ra_Gam.ToString();
            }
            else
            {
                //Tella vari Ghantalu
                retString = Enums.TimePrefix.Te_Gam.ToString();
            }
            return retString;
        }

        public static ArkahaDetails GetArkaha(RaviRoutineItem CurrentRoutine, RaviRoutineItem PreviousRoutine,ref double Direction, DinamuRoutineItem DinamuRoutine)
        {
            ArkahaDetails retValue = new ArkahaDetails();
            if (CurrentRoutine.Bhagam == 236)
            {
                retValue = new ArkahaDetails();

            }
            Rasi SpastaRavi = new Rasi(CurrentRoutine.MadyamaRavi.RawValue);
            //Rasi PreviousSpastaRavi = new Rasi(PreviousRoutine.MadyamaRavi.RawValue);
            //Find gati.
            Rasi RaviGati = new Rasi(CurrentRoutine.Gati);
            //First get total padamulu
            int TotalPadamulu = (int)((Rasi)(SpastaRavi / Constants.NakshatraPadaPramanam)).RawValue;
            TotalPadamulu = (Direction == -1 && TotalPadamulu == 0) ? TotalPadamulu = 108 : TotalPadamulu;

            //we need to consider next padamu only when direction is 1 
            //otherwise we need to process on same nakshatramu
            int NextPadamu = 0;
            if (Direction > 0)
            {
                NextPadamu = (int)(TotalPadamulu + Direction) % 108;
            }
            else
            {
                NextPadamu = (int)(TotalPadamulu) % 108;
            }

            Rasi NextNakshatramuUpperValue = new Rasi(Constants.NakshatraPadaPramanam * (double)NextPadamu);
            Rasi TempCheckCrossesUpperValue = new Rasi(SpastaRavi + RaviGati);
            if (TempCheckCrossesUpperValue < NextNakshatramuUpperValue)
            {
                return retValue;
            }

            double CurrentNakshatramu = Convert.ToInt32(NextPadamu / 4);
            double CurrentPadamu = NextPadamu % 4;
            double CurrentRasi = Convert.ToInt16(NextPadamu / 9);
            bool IsRasiArkaha = ((NextPadamu % 9) == 0);
            Rasi SpastaRaviAdvancement = new Rasi();
            if (Direction > 0)
            {
                SpastaRaviAdvancement = new Rasi(NextNakshatramuUpperValue - SpastaRavi);
            }
            else
            {
                SpastaRaviAdvancement = new Rasi(SpastaRavi - NextNakshatramuUpperValue);
            }
            //Divide Advancement with Gati
            Rasi ArkahaDivide = new Rasi(SpastaRaviAdvancement / RaviGati);
            if (ArkahaDivide < DinamuRoutine.RojuPramanam)
            {
                Rasi ArkahaTime = new Rasi(ArkahaDivide);
                ArkahaTime = new Rasi(DinamuRoutine.Dinardhamu + ArkahaDivide * Direction);
                if (ArkahaTime > DinamuRoutine.RojuPramanam)
                {
                    //Arkaha time is greater than roju pramanam. this means
                    //Arkaha happened on next time early morning. so set direction to -1
                    //this will enable the subtraction
                    Direction = -1;
                }
                else
                {
                    Direction = 1;
                }
                //if (ArkahaDivide > DinamuRoutine.Dinardhamu)
                //{
                //    
                //}
                if (Direction > 0)
                {
                    retValue = new ArkahaDetails(IsRasiArkaha, CurrentRasi, CurrentNakshatramu,
                        CurrentPadamu, ArkahaTime);
                }
            }
            return retValue;
        }

    }
}
